Tengo el siguiente código, que subi a un hosting contratado:
Código:
Y la salida es: <?php ini_set('track_errors', 1); $total = 0; $archivo = "contador.txt"; echo "Permisos: ", sprintf ( '%o', fileperms ( $archivo ) ), "<br/>" ; echo "FileOwner: ", posix_getpwuid ( fileowner ( $archivo ) ), "<br/>"; // Get Owner echo "getUid: ", posix_getpwuid ( posix_getuid () ), "<br/>"; // Get User if (is_file ( $archivo )) echo "is_file", "<br/>"; else echo "NO es fichero ", "<br/>"; if (is_readable ( $archivo )) echo "is_readable", "<br/>"; else echo "NO es readable ", "<br/>"; if (is_writable ( $archivo )) echo "is_writable", "<br/>"; else echo "NO es writable ", "<br/>"; $f_cont = fopen($archivo, "w"); if ( !$f_cont ) echo ' (2)fopen falla. Error: ', $php_errormsg; else { fwrite($f_cont, $total); fclose($f_cont); } ?>
Código:
Es decir que aparentemente tiene permisos de escritura, pero en la práctica no me deja abrir como "w" ni "w+" ni nada parecido. Además me dice que no es writable. Permisos: 100644 FileOwner: Array getUid: Array is_file is_readable NO es writable (2)fopen falla. Error: fopen(contador.txt): failed to open stream: Permission denied
Hasta aquí todo apunta a que son problemas de permisos. No se por qué tiene que tener problemas de permisos, pero es lo que he leído en el foro.
El problema es que si voy directamente al ftp con nautilus (lo más simple que hay) y edito el archivo "contador.txt" con gedit (también lo más simple) resulta que SI me deja grabar. Es decir modifico el contenido y grabo sin problemas.
Y no lo entiendo.
Ahora que teniendo en cuenta que SI puedo grabar, a ver con qué cara le digo nada al proveedor (es hosting contratado). Además no puedo usar chmod ni chown por la misma razón.
Deduzco entonces que es un problema de php. Pero ¿cual?. ¿Alguna sugerencia?.
Gracias.