Kann ich den Pfad der PHP-Datei bekommen ursprünglich in einer Datei enthalten genannt?

StackOverflow https://stackoverflow.com/questions/139794

  •  02-07-2019
  •  | 
  •  

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

War es hilfreich?

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 ().

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top