Posso obter o caminho do arquivo PHP originalmente chamado de dentro de um arquivo incluído?

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

  •  02-07-2019
  •  | 
  •  

Pergunta

Vamos dizer que temos index.php e ele é armazenado em /home/user/public/www e index.php chama a Foo->bar() classe do inc/app/Foo.class.php arquivo.

Eu gostaria a função bar na classe Foo para obter um porão do /home/user/public/www caminho neste exemplo -. Eu não quero usar uma variável global, passar uma variável, etc

Foi útil?

Solução

Não seria isso te o diretório do script em execução mais facilmente?

$dir=dirname($_SERVER["SCRIPT_FILENAME"])

Outras dicas

Você pode usar debug_backtrace de olhar para o caminho chamando e obter o arquivo de chamar esta função.

Um exemplo curto:

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

getcwd() recebe o diretório de trabalho atual

Ele pode ser alterado para uma variedade de razões por módulos 3rd party, inclui ou mesmo o seu próprio código, emitindo uma chdir().

debug_backtrace() como Devon sugerida é a resposta que você está procurando.

A ele. getcwd ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top