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.¿Cómo puedo mover un archivo a otra carpeta usando php?
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 de un valor de $ que se utiliza es:
../images/uploads/temp/IMG_0002.jpg
Y un ejemplo de un $ TARGET_PATH que se utiliza es:
../images/uploads/listers/186/IMG_0002.jpg
Puedo ver el archivo sentado 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?