subir servidor para mover move_uploaded_file manejo ejemplos ejemplo crear codigo carpeta archivos archivo php file-upload move

servidor - ¿Cómo puedo mover un archivo a otra carpeta usando php?



subir archivos php ejemplo (1)

Tengo un formulario de carga en el que los usuarios pueden cargar imágenes que actualmente se cargan en una carpeta que hice llamada ''temp'' y sus ubicaciones se guardan en una matriz llamada $ _SESSION [''uploaded_photos'']. Una vez que el usuario presiona el botón ''Página siguiente'', quiero que mueva los archivos a una nueva carpeta que se crea dinámicamente justo antes de eso.

if(isset($_POST[''next_page''])) { if (!is_dir(''../images/uploads/listers/''.$_SESSION[''loggedin_lister_id''])) { mkdir(''../images/uploads/listers/''.$_SESSION[''loggedin_lister_id'']); } foreach($_SESSION[''uploaded_photos''] as $key => $value) { $target_path = ''../images/uploads/listers/''.$_SESSION[''loggedin_lister_id''].''/''; $target_path = $target_path . basename($value); if(move_uploaded_file($value, $target_path)) { echo "The file ". basename($value). " has been uploaded<br />"; } else{ echo "There was an error uploading the file, please try again!"; } } //end foreach } //end if isset next_page

Un ejemplo para un $ valor que se está utilizando es:

../images/uploads/temp/IMG_0002.jpg

Y un ejemplo de $ target_path que se está utilizando es:

../images/uploads/listers/186/IMG_0002.jpg

Puedo ver el archivo en la carpeta temporal, ambos caminos se ven bien para mí y verifiqué para asegurarme de que la función mkdir realmente creara la carpeta que lo hizo bien.

¿Cómo puedo mover un archivo a otra carpeta usando php?


Al leer su escenario, parece que ha manejado la carga y movido los archivos a su carpeta ''temp'', y ahora desea mover el archivo cuando realizan una nueva acción (haciendo clic en el botón Siguiente).

En lo que respecta a PHP, los archivos en su ''temp'' ya no son archivos cargados, por lo que ya no puede usar move_uploaded_file.

Todo lo que necesitas hacer es usar cambiar el nombre :

if(isset($_POST[''next_page''])) { if (!is_dir(''../images/uploads/listers/''.$_SESSION[''loggedin_lister_id''])) { mkdir(''../images/uploads/listers/''.$_SESSION[''loggedin_lister_id'']); } foreach($_SESSION[''uploaded_photos''] as $key => $value) { $target_path = ''../images/uploads/listers/''.$_SESSION[''loggedin_lister_id''].''/''; $target_path = $target_path . basename($value); if(rename($value, $target_path)) { echo "The file ". basename($value). " has been uploaded<br />"; } else{ echo "There was an error uploading the file, please try again!"; } } //end foreach } //end if isset next_page