PHP - modo de acceso a un fichero: Permission denied

   
Vista:

modo de acceso a un fichero: Permission denied

Publicado por connectee (3 intervenciones) el 27/03/2015 19:04:17
Tengo la situación siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
//$archivo = fopen("accesos.txt", “a”);  	// con este modo y todos modos diferente a r da error
$archivo = fopen("accesos.txt", “r”);  	// funciona
 
//fwrite($archivo, “algo de texto1 \n”); 	// no \r\n , porque es MacOs
//fwrite($archivo, “algo de texto2 \r\n");	// a ver que pasa con \r\n
 
$tamano = filesize("accesos.txt"); 		// dos variables/funciones para comprobar conexión con el fichero
$texto = fread($archivo, $tamano);
 
echo $tamano; 			// prefecto
echo $texto; 				// perfecto
 
fclose($archivo);
?>

Como se ve, el script y el fichero accesos.txt están en el mismo directorio.

Al ejecutarlo, con modo de acceso diferente a r , se muestra:
“fopen() … failed to open stream: Permission denied…” para fopen() .

Tener en cuenta que al ejecutar el script, no activo las dos
sentencias fopen() simultáneamente.

Desactivo el modo “a” y las funciones fwrite() por los motivos del fallo
de poner otro modo diferente a r (activadas fwrite() no provocan error,
pero tampoco funcionan).

(Para el salto de línea en fwrite() pongo \n porque trabajo en Mac.
No sé si es correcto, como no me permite el acceso, no puedo
comprobarlo. Ahora esto no es importante: después de resolver
el problema con el modo, será fácil de comprobarlo.)

Las dos variables $tamano y $texto las utilizo para comprobar
de forma explícita si el script conecta con el fichero accesos.txt.
Y sí que conecta. Se hace obvio que con el modo r de fopen()
se muestra correctamente el contenido de las dos variables
(numérico el tamaño del fichero y el texto escrito previamente
por mí en el fichero).

Utilizo Xampp 5.5.19-0.

MIs preguntas son:
¿Por qué el servidor no me permite acceder al fichero mediante modo diferente a r ?
¿Es por algún ajuste de seguridad?
¿Cómo hacer que acepte los modos r+, a, a+, w y w+?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

modo de acceso a un fichero: Permission denied

Publicado por eyanez (31 intervenciones) el 27/03/2015 20:03:17
Hola, primero validas los permisos asi
http://php.net/manual/es/function.fileperms.php

y luego si no tiene permiso de escritura lo cambias asi
http://php.net/manual/es/function.chmod.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar