Chmod

Hola Luis, realmente he visto mucho de CHMOD en la web
Todo el mundo pregunta
Pero no puedo solucionar mi problema
Te cuento que estoy creando un administrador.
En el subo imágenes
Ademas de subirlas las redimensiono una vez que están arriba.
El problema es que no me permite redimensionarla si la carpeta (creada automáticamente por ftp, uso una clase) no tiene permiso 777.
Cuando se lo cambio manualmente en mi programa de ftp, luego funciona bárbaro
Pero yo necesito que esto sea automático
Probé con la orden:
chmod($ruta."/", 0777);
donde ruta es: "../../material/29"
No me da error pero no me cambia nada
¿Qué hago mal?
O
Que se te ocurre
Como siempre, muchas gracias por prestarme tu atención.

1 Respuesta

Respuesta
1
La sintaxis correcta de chmod sería:
chmod("/algundir/algunfichero", 0755); // octal; valor correcto
Es decir, que hay que preceder el número por un 0 (eso lo has hecho bien), pero sólo hay dos parámetros, el primero es la trayectoria ($ruta en tu caso) y el segundo, que es la máscara (0777 en tu caso). Te sobra el parámetro ese "/". Mira el enlace a la web de documentación para más información o vuelve a preguntarme si no te funciona:
http://es2.php.net/chmod
Tal vez esto ayude
Hice este archivo php
<?php
copy_resize("42_gr.jpg","../../material/35","42_ch.jpg",30,30);
function copy_resize($nombre_origen,$ruta,$nuevo_nombre,$ancho,$alto){
//copia y redimensiona la imagen subida
opendir($ruta."/");
$fuente=ImageCreateFromJPEG($ruta."/".$nombre_origen);
$imgAncho=Imagesx($fuente);
$imgAlto=Imagesy($fuente);
$imagen=ImageCreateTrueColor($ancho,$alto);
ImageCopyResized($imagen,$fuente,0,0,0,0,$ancho,$alto,$imgAncho,$imgAlto);
// para grabar la imagen
imageJPEG($imagen,$ruta."/".$nuevo_nombre,99);
imagedestroy($imagen);
}
?>
Si el directorio tiene permiso 777 funciona, si no no funciona
De ahí que necesito cambiar el permiso
A través de mi programa de ftp, puedo
Pero si lo hago con la instrucción CHMOD de php no me lo cambia.
Hola Luis
Gracias por tu tiempo.
¿Sabes con que logre hacer funcionar el cambio?
ftp_site($conexion, 'CHMOD 777 somedir/somefile');
Chmod no estaba permitido en mi servidor.
Te lo comento porque me costo sangre, sudor y lagrimas, jajajaj, y uno nunca saba a quien puede ayudar.
Gracias por todo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas