Foros del Web » Programando para Internet » PHP »

Dar CHMOD 777 a un archivo.

Estas en el tema de Dar CHMOD 777 a un archivo. en el foro de PHP en Foros del Web. Hola amigos, He buscado pero no he encontrado la respuesta a mi juicio correcta a mi problema. Tengo Código PHP:   $buffer  =  "contenido del archivo" ;    ...
  #1 (permalink)  
Antiguo 06/09/2008, 03:21
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años
Puntos: 0
Dar CHMOD 777 a un archivo.

Hola amigos,
He buscado pero no he encontrado la respuesta a mi juicio correcta a mi problema.

Tengo

Código PHP:
  $buffer "contenido del archivo";
  
$file=fopen("archivo.xml","w+");
  
fwrite ($file,$buffer);
  
fclose($file); 
Como podria hacer para que al momento de guardarlo, este lo guarde con CHMOD 777???
Se que existe la funcion chmod pero si la agrego ahi me da error y no anda. chmod($file, 0755);

De que manera lo hago para que el archivo quede guardado con chmod 777???

Ya se que se puede hacer por ftp y todo eso, pero yo necesito que el script lo deje 0777 solo, sin que yo tenga que hacerlo manualmente.

Ojala puedan ayudarme.

Muchas gracias.

Saludos.
__________________
ChilenoCesar Looking for something new...
  #2 (permalink)  
Antiguo 06/09/2008, 03:31
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 17 años
Puntos: 25
Respuesta: Dar CHMOD 777 a un archivo.

pues en php.net hay informacion, en el siguiente enlace...

Just stumbled accross this, to create a 777 directory..
mkdir ("test", 0410);
chmod ("test", 0777);

The created folder is 777 insted of 755!
  #3 (permalink)  
Antiguo 06/09/2008, 03:32
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Dar CHMOD 777 a un archivo.

Como tu has dicho, con chmod();
Sería interesante que leyeses los errores en vez de decir "bah, da error, esta función no va", porque seguramente lo que te está diciendo es que no tienes permisos suficientes para cambiar eso.
Tienes que ver cual es el propietario/grupo original del archivo, y entonces podrás ver si el propietario, grupo o "otros" necesitan tener todos los permisos(7). Sólo debes asegurarte que el archivo tenga originalmente esos permisos correctamente y ya te dejará.
Si no puedes asegurar unos correctos permisos originales en el archivo, entonces es evidente que de ninguna otra manera en PHP podrás cambiar eso. De hecho tampoco podrías en FTP ni con ningún otro método a través del navegador.
__________________
Un Lannister siempre cumple sus promesas
  #4 (permalink)  
Antiguo 06/09/2008, 03:47
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años
Puntos: 0
Respuesta: Dar CHMOD 777 a un archivo.

Agradezco las respuestas, habia leido precisamente el mismo articulo en php.net

Pero yo lo pongo asi:

Código PHP:
  $buffer "contenido del archivo";
  
$file=fopen("archivo.xml","w+");
  
fwrite ($file,$buffer);
  
chmod($file0777);
  
fclose($file); 
Y asi es como no me va, el directorio donde esta guardado el archivo si tiene 777 entonces es dir/archivo.xml, "dir" ya tiene 777 por FTP, pero asi es como me da el error.
__________________
ChilenoCesar Looking for something new...
  #5 (permalink)  
Antiguo 06/09/2008, 03:49
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 17 años
Puntos: 25
Respuesta: Dar CHMOD 777 a un archivo.

el directorio esta en 777 ?? y aun asi no puedes modificar su contenido ?????
  #6 (permalink)  
Antiguo 06/09/2008, 04:03
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años
Puntos: 0
Respuesta: Dar CHMOD 777 a un archivo.

Si el directorio esta en 777, y SI puedo modificar su contenido, lo que pasa es que estoy creando un archivo.XML pero por defecto estos se guardan como 644, y yo necesito que estos se guarden como 777

archivo1.XML --> 0777
archivo2.XML --> 0777

Porque en este momento el script los guarda con 0644.

Se entiende?

Gracias.
__________________
ChilenoCesar Looking for something new...
  #7 (permalink)  
Antiguo 06/09/2008, 04:36
Avatar de Mort20  
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Dar CHMOD 777 a un archivo.

Dices que te leíste el manual... entonces me pregunto: ¿¿cómo te lo leíste??
Porque des de luego mucha atención no le prestaste XDD
Código PHP:
/*...*/  $file=fopen("archivo.xml","w+");
  
fwrite ($file,$buffer);
  
chmod($file0777); 
/*...*/ 
Si hubieses leído el manual prestándole un poquito de atención sabrías que $file sólo contiene un resource id, y no el nombre de ningún archivo. Y estás cambiando los permisos de un resource id, lógico que te dé error. Sabrías eso si leyeses el error, como te decía. Yo la verdad es que no sé que tipo de lógica usa la gente que cree que no leyendo el error lo entenderá mejor...
Debería ser
Código:
chmod("archivo.xml",0777);
y eso mientras NO esté abierto el archivo con funciones de lectura/escritura/etc. de archivos para asegurar que luego el fclose(); no le cambie los permisos pese a que no debería.
__________________
Un Lannister siempre cumple sus promesas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:36.