Foros del Web » Programando para Internet » PHP »

cambiar permisos a un archivo

Estas en el tema de cambiar permisos a un archivo en el foro de PHP en Foros del Web. hey, que ondas?? otra vez yop! pues alguien sabe como cambiarle los pormisos a un archivo para poder borrarlo, estoy usando el chmod, pero me ...
  #1 (permalink)  
Antiguo 14/06/2006, 12:09
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
cambiar permisos a un archivo

hey, que ondas??

otra vez yop! pues alguien sabe como cambiarle los pormisos a un archivo para poder borrarlo, estoy usando el chmod, pero me arroja un warning de que no lo puede borrar...

chmod("$dir/$item", 0755);
unlink("$dir/$item");
echo " eliminando $dir/$item\n";

pero no me funciona!!, me arroja el siguiente warning

Warning: chmod(): Operation not permitted in /Users/crysfel/Sites/galena/admin/action/BaseAction.php on line 88

Warning: unlink(../galeria/eventos/2006/01/sociedad/001.JPG): Permission denied in /Users/crysfel/Sites/galena/admin/action/BaseAction.php on line 89

soooooo, que tengo que hacer para que esto me funcione? donde tengo que cambiar los privilegios?? thanks!
  #2 (permalink)  
Antiguo 14/06/2006, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. que permisos tiene actualmente .. quien es el "dueño" de ese archivo/directorio (el usuario del S.O. de ese servidor que lo creó).

Fijate que cuando eliminas o pretendes cambiar los permisos de un archivo o directorio .. PHP cara al uso de funciones como unlink() o chmod() toman como usuario el que use PHP en ese Servidor (nobody?, apache? o alguno definido para tal fin) .. Cuando entras por "FTP" a tu sistema de archivos de tu servidor estás y así creas y actuas con tus archivos bajo -otro- usuario (el que haces "login" por FTP) .. eso afecta mucho al tema de permisos ..

Supongo que pretenderas borrar un archivo (con su ruta absoluta completa?). Eso debes revisarlo también.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 14/06/2006, 14:27
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
si, eso supuse, en la documentacion dice que el archivo debe estar bajo el usuario de PHP, y esas carpetas las cree yo directamente en el servidor....

rayos, eso significa que para que PHP las peuda borrar, PHP las tubo que haber creado, verdad? ok ok, ahora la pregunta es, PHP puede crear directorios dentro del servidor, aunque el directorio del servidor este bajo un usuario que no es el de PHP?? pienso que no , pero realmente no lo se.....

anyway, esto se ve extranio
  #4 (permalink)  
Antiguo 14/06/2006, 15:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si, PHP puede crear directorios con la función mkdir() .. En general PHP puede hacer de todo con archivos/directorios: crearlos, cambiarles el permiso, borrarlos .. etc.

Lo normal es que tu tengas una aplicación que cree directorios desde un "raiz" de tu aplicación .. desde donde "cuelguen esos archivos" .. ese directorio le darías permisos 0677 o similar .. el caso es que tenga permisos para "escritura y lectura" para todo usuario.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 26/07/2006, 11:30
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
hey people!!

bueno, pues en esta ocacion, lo que hice fue sibir archivos al servidor, y que cren?? sorpresa, Permission denied, cansado de esta situacion me decidi de solucionarlo.... ok, aqui como lo hice.....

primero que nada tengo un Mac Os x
apache como web server
PHP 4.x

primero localice el archivo de conficugacion del apache, y lo encontre aqui: nano /private/etc/httpd/httpd.conf

ahora localice la linea donde el usuario se especificaba, y encontre esto

User www
group www

lo que hice fue cambiar el grupo unicamente, por el mismo grupo donde esta mi usuario, guarde los cambios y sali del editor.

ahora fui a mi carpeta donde tengo mi proyecto, y le di permisos de escritura al grupo tambien. reinicie el apache y bualaaaa!!

el archivo habia sibudo correctamente sin errores, de igual manera funciono el mkdir y el unlink!

have funnnnn
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 04:26.