file($path) σε τι $path αναφερόμαστε;

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

file($path) σε τι $path αναφερόμαστε;

Δημοσίευση από iffor » 01 Απρ 2006 01:03

Καλημέρα σας! (μιας και η ώρα είναι περασμένη! :wink: )
Έχω όλο το απόγευμα και τρώγομαι με ένα script-ακι που καλεί σε κάποιο σημείο της την file για να διαβάσει ένα txt αρχείο...
Απ' ότι είδα στην php.net στο όρισμα path της file() θέτουμε την διαδρομή του αρχείου μας.
Θα ήθελα να ρωτήσω τώρα, για ποια διαδρομή μιλάμε?
Για την διαδρομή του συστήματος ( στο στυλ c:/programm files/.../htdocs/site... )
για την διαδρομή του site ( http://localhost/site... ) ( τουλάχιστον έτσι κατάλαβα από τα διάφορα παραδείγματα.. )
ή την σχετική διαδρομή ως προς το αρχείο που καλει την function;

Αναφέρομαι βραδιάτικα σε αυτό για τον εξής λόγο... αν χρησιμοποιήσω την πρώτη περίπτωση ξεκινώντας την διαδρομή από τον root, μου βγαίνει worning ότι δεν υπάρχει το αρχείο αυτό..
στην δεύτερη κυριολεκτικά μου crash-αρει η PHP!!! ( php interpreter script must close )
και στην τρίτη περίπτωση κταφέρνω να έχω σωστά αποτελέσματα!
Μπορεί να μου εξηγήσει κανείς που οφείλεται αυτο;
Μήπως υπάρχει και η περίπτωση να μην έχει εγκατασταθει σωστά ο Apacheκαι η PHP; ( αν και τα πάντα λειτουργουν σωστά εκτός αυτής της περίπτωσης!!!)
Ευχαριστώ!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

file($path) σε τι $path αναφερόμαστε;

Δημοσίευση από panos78 » 01 Απρ 2006 13:09

Εξαρτάται¨
Αν το αρχείο που έχεις γίνεται include σε κάποιο άλλο τότε η διαδρομή πρέπει να είναι σχετική με το άλλο αρχείο.
Αν δεν είναι include, η διαδρομή πρέπει να σχετίζεται με το αρχείο που έχεις βάλει την εντολή file().
Αν θες να βάλειw την πλήρη διαδρομή του διακομιστή σου συνήθως βάζεις το εξής:
www/html/username/html/textfile.txt
ανάλογο με τη διαδρομή που βρίσκεται το αρχείο σου.
Nομίζω ότι η εντολή file() περιορίζεται μόνο στα αρχεία του Διακομιστή που βρίσκεσαι.
Αν θες να ανοίξεις αρχείο από άλλο διακομιστή η διαδικασία είναι διαφορετική.
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

file($path) σε τι $path αναφερόμαστε;

Δημοσίευση από cpulse » 02 Απρ 2006 10:34

Αν αυτό το bug επαναλαμβάνεται εγω στην θέση σου θα έκανα bug report στους PHPάδες... πάντως σε ένα local μηχάνημα με PHP 5 και Windows XP με Apache 2 δεν μου βγάζει πρόβλημα.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

file($path) σε τι $path αναφερόμαστε;

Δημοσίευση από soteres2002 » 02 Απρ 2006 11:51

mipos o server sou einai chrooted se ena directory, dld exei access mono se ena sigekrimeno range apo to filesystem sou. kai sta windows katholou apithano na simbainei auto. episis, des kai san ti xristis trexei o server... eimai sigouros oti ekei einai to problima.

kai gia na eksakriboseis prospathise na trekseis ena scriptaki apo PHP CLI apo command line dld pou tha prospathei na anoiksei to sigekrimeno arxeio apo to disko. an exeis problima tote stile bug report.

kati teleftaio: mipos to arxeio den einai se master disko kai einai tpt se slave etsi oste na min exeis prosbasi se kapoia alli monada.

BALE RE FILE LINUX kai XESE ta ILITHIA WINDOWS! to sigouro einai pos den tha sou trone to xrono tetoia kolimata.

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

file($path) σε τι $path αναφερόμαστε;

Δημοσίευση από iffor » 03 Απρ 2006 11:20

hello and thanx για τις απαντήσεις!
απ' ότι είδα, εάν χρησιμοποιήσω στην file(), server path ( στο στυλ home/login/public_html/site... ) βλέπει το αρχείο κανονικά, είτε σε absolut (εαν γράφετεαι έτσι :wink: ) είτε σε relative path!
αλλά αν τολμήσω στο path και βάλω http path ( στο στυλ localhost/site/... ) κρεμάει πάλι η PhP...
@soteres2002, πιστεύω ότι έχεις δίκιο ότι κάτι παίζει με τον server, μιας και στης δουλειάς τον server δεν έχω το ίδιο πρόβλημα...
Κατ' αρχάς, o server δεν είναι chrooted σε κάποιο directory και όσο για το
kai gia na eksakriboseis prospathise na trekseis ena scriptaki apo PHP CLI apo command line dld pou tha prospathei na anoiksei to sigekrimeno arxeio apo to disko. an exeis problima tote stile bug report.
δυστυχώς δεν έχω παίξει ποτέ με command line και μου είναι λιγάκι δύσκολο να το κάνω στα ξερά έτσι :oops: κάποιο υπόδειγμα ίσως?
Μήπως τελικά πρέπει να τα απεγκαταστήσω όλα ( apache - mysql - php ) και να τα περάσω από την αρχή? Προσπαθώ απλός να την αποφύγω αυτή την διαδικασία...
Thanx!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης