2010-11-14 16 views

Respuesta

54

En Linux, el separador de ruta es /. En Windows, es \ o /. Entonces usa barras diagonales y estarás bien.

APPLICATION_PATH . '/logs/app.log' 
+1

pero cuando a continuación, imprimir mi camino en un sistema de ventanas que consigo: K: \ project345 \ application/logs/app.log – sanders

+11

@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. –

+0

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

29

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'; 
0

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

Cuestiones relacionadas