Περισσότερα
Λήψη της απόλυτης διαδρομής της τρέχουσας δέσμης ενεργειών
Έχω ψάξει πολύ και έχω πάρει πολλές διαφορετικές λύσεις και μεταβλητές που περιέχουν πληροφορίες για να λάβω την απόλυτη διαδρομή. Φαίνεται όμως ότι λειτουργούν κάτω από ορισμένες συνθήκες και όχι κάτω από άλλες. Υπάρχει ένας αποτελεσματικός τρόπος για να λάβω την απόλυτη διαδρομή του εκτελούμενου σεναρίου στην PHP; Για μένα, το σενάριο θα εκτελεστεί από τη γραμμή εντολών, αλλά, μια λύση θα πρέπει να λειτουργεί εξίσου καλά αν εκτελεστεί μέσα στον Apache κ.λπ.
Διευκρίνιση: Το αρχικά εκτελεσμένο σενάριο, όχι απαραίτητα το αρχείο στο οποίο είναι κωδικοποιημένη η λύση .
238
3
Η σταθερά
__FILE__
θα σας δώσει την απόλυτη διαδρομή προς το τρέχον αρχείο.Ανανέωση:
Η ερώτηση άλλαξε ώστε να ζητάει πώς να ανακτήσετε την αρχικά εκτελεσμένη δέσμη ενεργειών αντί για την τρέχουσα δέσμη ενεργειών που εκτελείται. Ο μόνος (;;) αξιόπιστος τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε τη συνάρτηση
debug_backtrace
.Παραδείγματα για:
https://(www.)example.com/subFolder/myfile.php?var=blabla#555
Σημείωση!
DIRECTORY_SEPARATOR
επιστρέφει\
για φιλοξενία τύπου Windows, αντί για/
.Αν το τοποθετήσετε σε ένα συμπεριλαμβανόμενο αρχείο, εκτυπώνεται η διαδρομή προς αυτό το include. Για να λάβετε τη διαδρομή του γονικού σεναρίου, αντικαταστήστε το
__FILE__
με το$_SERVER['PHP_SELF']
. Αλλά να γνωρίζετε ότι το PHP_SELF αποτελεί κίνδυνο για την ασφάλεια!