una subir servidor otro move_uploaded_file mostrar imagenes imagen guardar ejemplo desde copiar carpeta archivos archivo php folder move unlink

servidor - subir archivos php ejemplo



PHP-Mueva un archivo a una carpeta diferente en el servidor (3)

Necesito permitir que los usuarios de mi sitio web eliminen sus imágenes del servidor una vez que las hayan subido si ya no las quieren. Anteriormente estaba usando la función de unlink en PHP, pero desde entonces me han dicho que esto puede ser bastante arriesgado y un problema de seguridad. (Código anterior a continuación :)

if(unlink($path.''image1.jpg'')){ // deleted }

En cambio, ahora quiero simplemente mover el archivo a una carpeta diferente. Esto debe poder realizarse mucho tiempo después de que hayan cargado el archivo por primera vez en cualquier momento que inicien sesión en su cuenta. Si tengo la carpeta principal que almacena las imágenes de los usuarios:

user/

y luego dentro de esa una carpeta llamada del que es el destino para poner sus imágenes no deseadas:

user/del/

¿Hay un comando para mover un archivo a una carpeta diferente? Entonces eso dice:

user/image1.jpg

se mueve a / se convierte

user/del/image1.jpg


La función de rename hace esto

cambiar el nombre de los documentos

rename(''image1.jpg'', ''del/image1.jpg'');

Si desea mantener el archivo existente en el mismo lugar, debe usar copy

docs copia

copy(''image1.jpg'', ''del/image1.jpg'');

Si desea mover un archivo cargado use move_uploaded_file , aunque esto es casi lo mismo que rename esta función, también verifica que el archivo dado sea un archivo que se cargó mediante el POST , esto evita, por ejemplo, que se mueva un archivo local

documentos move_uploaded_file

$uploads_dir = ''/uploads''; foreach ($_FILES["pictures"]["error"] as $key => $error) { if ($error == UPLOAD_ERR_OK) { $tmp_name = $_FILES["pictures"]["tmp_name"][$key]; $name = $_FILES["pictures"]["name"][$key]; move_uploaded_file($tmp_name, "$uploads_dir/$name"); } }

código snipet de documentos


Si desea mover el archivo en una nueva ruta, mantenga el nombre del archivo original. utilizar esta:

$source_file = ''foo/image.jpg''; $destination_path = ''bar/''; rename($source_file, $destination_path . pathinfo($source_file, PATHINFO_BASENAME));


Use la función rename()

rename("user/image1.jpg", "user/del/image1.jpg");