2012-06-28 27 views
6

Tengo problemas para escribir en un archivo aunque is_writable() devuelve verdadero. Por supuesto, el archivo existe y aparentemente es legible. Aquí está el código:PHP is_writable() devuelve true pero file_put_contents() devuelve falso

$file = "data"; 
echo file_get_contents($file)."<br>"; 
echo is_writable($file) ? "is writable<br>" : "not writable<br>"; 
if (file_put_contents($file, "ghijkl", FILE_APPEND) === FALSE) echo "failed<br>"; 
echo file_get_contents($file)."<br>"; 

Y aquí está la salida:

abcdef 
is writable 
failed 
abcdef 
+1

@interlude: ¿no es obvio? – zerkms

+0

parece duplicado de http://stackoverflow.com/questions/4917811/file-put-contents-permission-denied – naiquevin

+0

@interlude: ¿ves '==' en algún lugar? – zerkms

Respuesta

0

¿verificó la propiedad del archivo? Puede ser que sea la razón, trate de ejecutar este código:

chown username:groupname your_file.txt 

Recuerde cambiar el nombre de usuario: nombre de grupo. ¡Espero que funcione para ti!

0

Quizás esté tratando de escribir en un directorio, no en un archivo, es decir, algo que se puede escribir pero no se puede agregar. Solo una suposición.

0

usted tiene que utilizar esto:

$file=realpath('data'); 

entonces usted tiene que usar esta por encima de $file en el contenido del archivo y poner último tratar de dar con el tipo de archivo como (filename.filetype).

file_put_contents($file,'fgdfgfg'); 
1

Por lo que sólo necesitan comprobar el espacio libre en el sistema de archivos en mi caso i escribir en la consola:
df -h
sistema de archivos Tamaño Usado Disp Capacidad Montado en
/dev/4.3G da0s1f 4,0 g - 68M 102%/usr

liberar espacio y función file_put_contents funciona después de que

Cuestiones relacionadas