2012-06-04 18 views
6

Estoy tratando de crear escribir un archivo de registro para mi sitio web. Para hacer esto, uso el siguiente código para intentar abrir el archivo. Ahora el archivo aún no existe, pero la documentación indica que agregar el indicador "a +" asegura que el archivo se crea si no existe.PHP: fopen: Ningún archivo o directorio

$file = fopen($_SERVER['DOCUMENT_ROOT']."/logs/mylogfile.txt", "a+"); 

El código anterior me da el siguiente error ...

Warning: fopen(E:/wamp/www/logs/mylogfile.txt) [function.fopen]: failed to open stream: No such file or directory 

¿Qué estoy haciendo mal? Disculpe si esta es una pregunta estúpida, soy muy nuevo en PHP.

+0

¿Tiene permisos de escritura en esa carpeta? – alexn

+0

Gracias por la respuesta .. ¿cómo puedo verificar eso? –

+0

¿ha revisado su carpeta E:/wamp/www/logs/para ver si hay algún archivo llamado "tagMetroLog.txt"? –

Respuesta

10

El 2do parámetro "a +" de fopen solo puede crear el archivo si el directorio existe. Asegúrese de que el directorio de registros esté allí. Si no es el caso de uso:

mkdir($_SERVER['DOCUMENT_ROOT']."/logs/", 0777, true); 

(verdadera es la clave) antes de fopen()

+1

¡Quiero +1000 esta respuesta! – progyammer

Cuestiones relacionadas