otra - llamar funcion php desde otro php
¿Puedo obtener la ruta del archivo PHP originalmente llamado dentro de un archivo incluido? (4)
Digamos que tenemos index.php
y está almacenado en /home/user/public/www
e index.php
llama a la clase Foo->bar()
desde el archivo inc/app/Foo.class.php
.
Me gustaría que la función de la barra en la clase Foo
tenga acceso a la ruta /home/user/public/www
en esta instancia - No quiero usar una variable global, pasar una variable, etc.
¿No le proporcionaría esto el directorio de la secuencia de comandos en ejecución más fácilmente?
$dir=dirname($_SERVER["SCRIPT_FILENAME"])
Lo encontré. getcwd ()
Puede usar debug_backtrace para ver la ruta de la llamada y obtener el archivo que llama a esta función.
Un pequeño ejemplo:
class Foo {
function bar() {
$trace = debug_backtrace();
echo "calling file was ".$trace[0][''file'']."/n";
}
}
getcwd()
obtiene el directorio de trabajo actual
Puede ser cambiado por una variedad de razones por módulos de terceros, incluye o incluso su propio código emitiendo un chdir()
.
debug_backtrace()
como sugirió Devon es la respuesta que estás buscando.