ruta otro otra obtener llamar incluir include_once funcion ejemplo desde completa carpeta archivo php path

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.