Puis-je obtenir le chemin du fichier PHP appelé à l'origine dans un fichier inclus?

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

  •  02-07-2019
  •  | 
  •  

Question

Disons que nous avons index.php et qu'il est stocké dans / home / user / public / www et que index.php appelle le class Foo- > bar () à partir du fichier inc / app / Foo.class.php .

J'aimerais que la fonction de barre dans la classe Foo récupère le chemin / home / user / public / www dans cet exemple - je ne le fais pas. ne veux pas utiliser une variable globale, passer une variable, etc.

Était-ce utile?

La solution

Cela ne vous permettrait-il pas d'obtenir plus facilement le répertoire du script en cours d'exécution?

$dir=dirname(

Cela ne vous permettrait-il pas d'obtenir plus facilement le répertoire du script en cours d'exécution?

<*>SERVER["SCRIPT_FILENAME"])

Autres conseils

Vous pouvez utiliser debug_backtrace pour consulter le chemin d'appel et obtenir le fichier appelant cette fonction.

Un petit exemple:

class Foo {
  function bar() {    
   $trace = debug_backtrace();
   echo "calling file was ".$trace[0]['file']."\n";
  }
}

getcwd () obtient le répertoire de travail actuel

Il peut être modifié pour diverses raisons par des modules tiers, incluant ou même votre propre code en émettant un chdir () .

debug_backtrace () comme suggéré par Devon est la réponse que vous cherchez.

Je l'ai trouvé. getcwd ().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top