¿Cómo puedo estar seguro de que este camino:hacer un trabajo de trayectoria tanto en Linux y Windows
new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')
funciona tanto en Linux y en Windows?
¿Cómo puedo estar seguro de que este camino:hacer un trabajo de trayectoria tanto en Linux y Windows
new Zend_Log_Writer_Stream(APPLICATION_PATH . '\logs\app.log')
funciona tanto en Linux y en Windows?
En Linux, el separador de ruta es /
. En Windows, es \
o /
. Entonces usa barras diagonales y estarás bien.
APPLICATION_PATH . '/logs/app.log'
También puede utilizar DIRECTORY_SEPARATOR
constante en lugar de \
o /
. Por lo general, usted querrá volver a definir que tenga nombre más corto, como
define('DS', DIRECTORY_SEPARATOR);
$filename = APP . DS . 'logs' . DS . 'file.txt';
si usted quiere comunicar dos o más aplicaciones de su sitio, este truco le servirá mucho
$ Document_root = realpath (\ filter_input (INPUT_SERVER , ' DOCUMENT_ROOT '));
esto es para convertir la ruta en la ruta real real y luego solo tiene que navegar entre directorios con DIRECTORY_SEPARATOR sin preocuparse por el sistema operativo instalado en su máquina o servidor web
Just realpath() parece ser suficiente
pero cuando a continuación, imprimir mi camino en un sistema de ventanas que consigo: K: \ project345 \ application/logs/app.log – sanders
@sanders, eso no es un problema. Windows entiende ese camino. En Windows, puede mezclar barras diagonales hacia adelante y hacia atrás en una sola ruta. –
He visto esto antes, pero parece entrar en conflicto con la información aquí: https://stackoverflow.com/questions/2410354/failed-to-open-stream-invalid-argument – Matthew