2012-08-02 122 views
7

En el servidor, script crea una nueva carpeta, establece chmod en 0777, pero luego intenta mover los archivos a esa carpeta obtengo un error: Permiso denegado.Función PHP Renombrar Permiso denegado

mkdir("../".$new_1, 0777); 
chmod("../".$new_1, 0777); 

mkdir("../".$new_1."/".$new_2, 0777); 
chmod("../".$new_1."/".$new_2, 0777); 

rename("files/".$failai[$i].".jpg", "../".$new_1.'/'.$new_2."/".$failai[$i].".jpg"); 

Warning: rename(files/new_file.jpg,../112a/112b/Tech_diz_1.jpg) [function.rename]: Permission denied in ..code/Jpg&Html.php on line 82

¿Soluciones?

Respuesta

22

necesitarás tener permisos de lectura y escritura en la carpeta fuente, también.

solo tener permisos para la carpeta de destino no es suficiente ya que el archivo se elimina de su origen.

0

También debe tener permiso para cambiar el archivo "files/".$failai[$i].".jpg". Supongo que eso va mal.

0

¿Tiene acceso de escritura al archivo? De lo contrario, asegúrese de chmod el archivo a 777 o al menos a 644.

Además, compruebe la existencia del archivo dando un file_exists() en el nombre del archivo antes de cambiar el nombre. :)

Además, después de mover el archivo, puede necesitar establecer los permisos usando chmod() para que esté disponible para cambiar el nombre. Puede hacerlo de esta manera:

<?php 
    chmod($uploadedFile, 0755); 
?>