Kann ich den Pfad der PHP-Datei bekommen ursprünglich in einer Datei enthalten genannt?
Frage
Nehmen wir an, wir haben index.php
und es wird in /home/user/public/www
gespeichert und index.php
ruft die Klasse Foo->bar()
aus der Datei inc/app/Foo.class.php
.
Ich würde die Bar-Funktion in der Foo
Klasse wie einen Halt des Pfad /home/user/public/www
in diesem Fall zu bekommen -. Ich will nicht eine globale Variable verwenden, übergeben Sie eine Variable, etc
Lösung
Wäre das Sie nicht bekommen das Verzeichnis des laufenden Skript leichter?
$dir=dirname($_SERVER["SCRIPT_FILENAME"])
Andere Tipps
Sie können mit debug_backtrace auf dem rufenden Weg suchen und die Datei Aufruf diese Funktion erhalten.
Ein kurzes Beispiel:
class Foo {
function bar() {
$trace = debug_backtrace();
echo "calling file was ".$trace[0]['file']."\n";
}
}
getcwd()
wird das aktuelle Arbeitsverzeichnis
Es kann für eine Vielzahl von Gründen von 3rd-Party-Module geändert wird, enthält oder sogar Ihren eigenen Code durch einen chdir()
Ausgabe.
debug_backtrace()
als Devon vorgeschlagen ist die Antwort, die Sie suchen.
es gefunden. getcwd ().