Documentación offline PHP master

move_uploaded_file

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

move_uploaded_file

Mueve un archivo subido a una nueva ubicación

Descripción#

move_uploaded_file(string $filename, string $destination): bool
```php

Esta función intenta asegurarse de que el archivo designado por `filename` es un archivo subido válido (lo que significa que fue subido mediante el mecanismo de subida HTTP POST de PHP). Si el archivo es válido, será movido al nombre de archivo dado por `destination`.

El orden de comprobación es especialmente importante si hay cualquier posibilidad de que cualquier cosa hecha con los archivos subidos pueda revelar su contenido al usuario, o incluso a otros usuarios en el mismo sistema.

## Parámetros

`filename`  
El nombre de archivo del archivo subido.

`destination`  
El destino del archivo movido.

## Valores devueltos

Devuelve `true` en caso de éxito.

Si `filename` no es un archivo válido subido, no sucederá ninguna acción, y `move_uploaded_file` devolverá `false`.

Si `filename` es un archivo subido válido, pero no puede ser movido por algunas razones, no sucederá ninguna acción, y `move_uploaded_file` devolverá `false`. Adicionalmente, se emitirá un aviso.

## Ejemplos

Subida de múltiples archivos
$error) { if ($error == UPLOAD_ERR_OK) { $tmp_name = $_FILES["pictures"]["tmp_name"][$key]; // basename() puede evitar ataques de denegación de sistema de ficheros; // podría ser apropiada más validación/saneamiento del nombre del fichero $name = basename($_FILES["pictures"]["name"][$key]); move_uploaded_file($tmp_name, "$uploads_dir/$name"); } } ?>

```php

Notas#

[!NOTE] move_uploaded_file es compatible con open_basedir. Sin embargo, las restricciones sólo están impuestas para la ruta dest para permitir mover los archivos subidos en los cuales filename pueda tener conflictos con tales restricciones. move_uploaded_file garantiza la seguridad de esta operación permitiendo que sólo aquellos archivos subidos a través de PHP sean movidos.

[!WARNING] Si el archivo destino ya existe se sobrescribirá.

Véase también#

is_uploaded_file, rename, Véase Manejo de subidas de archivos para un sencillo ejemplo de uso