Debido a que el "directorio de trabajo actual" para los trabajos de cron será el directorio donde existe el archivo crontab - por lo que cualquier rutas relativas con estar en relación con ese directorio.
La forma más sencilla de manejarlo es con la función dirname()
y la constante PHP __FILE__
. De lo contrario, deberá editar el archivo con nuevas rutas absolutas cada vez que mueva el archivo a un directorio diferente o a un servidor con una estructura de archivos diferente.
dirname(__FILE__)
__FILE__
es una constante definida por PHP como la ruta completa del archivo desde el que se llama. Incluso si el archivo está incluido, __FILE__
se referirá SIEMPRE a la ruta completa del archivo en sí, no al archivo que lo incluye.
Así que dirname(__FILE__)
devuelve la ruta completa del directorio al directorio que contiene el archivo, sin importar de dónde se incluya y basename(__FILE__)
devuelve el nombre del archivo.
ejemplo: Vamos a suponer "/home/user/public_html/index.php" incluye "/home/user/public_html/your_directory/your_php_file.php".
Si llama dirname(__FILE__)
en "your_php_file.php" que se obtendría "/ home/usuario/public_html/your_directory" devolvió a pesar de que la secuencia de comandos activa está en "/ home/usuario/public_html" (nótese la ausencia del arrastre barra oblicua).
Si necesita el directorio de la utilización de archivos incluyendo: dirname($_SERVER['PHP_SELF'])
que devolverá "/ home/usuario/public_html" y es lo mismo que llamar dirname(__FILE__)
en el archivo "index.php", ya que las rutas relativas son las mismas.
ejemplo: usos
@include dirname(__FILE__) . '/your_include_directory/your_include_file.php';
@require dirname(__FILE__) . '/../your_include_directory/your_include_file.php';
Este es un gran recurso, así: http://stackoverflow.com/questions/2857712/enable-proper-relative-path-in-cron – Webnet