Función move_uploaded_file

La función move_uploaded_file mueve un archivo subido del directorio temporal a la ubicación especificada. El primer parámetro de la función acepta el nombre temporal del archivo, y el segundo - la ruta para guardar el archivo.

Sintaxis

phpmove_uploaded_file(string $from, string $to): bool

Ejemplo

Mover el archivo subido a la carpeta uploads:

php<?php
  $temp = $_FILES['file']['tmp_name'];
  $name = $_FILES['file']['name'];
  
  if (move_uploaded_file($temp, 'uploads/' . $name)) {
    echo 'archivo subido exitosamente';
  } else {
    echo 'falló la subida';
  }
?>

Ejemplo

Verificar la subida exitosa del archivo antes de moverlo:

php<?php
  $temp = $_FILES['file']['tmp_name'];
  $name = $_FILES['file']['name'];
  
  if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
    $res = move_uploaded_file($temp, 'files/' . uniqid() . '_' . $name);
    echo $res ? 'Éxito' : 'Error';
  } else {
    echo 'Error de subida: ' . $_FILES['file']['error'];
  }
?>

Ejemplo

Crear un nombre único de archivo al mover:

php<?php
  $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
  $newName = 'archivousuario_' . time() . '.' . $ext;
  $res = move_uploaded_file($_FILES['file']['tmp_name'], 'storage/' . $newName);
  var_dump($res);
?>

Véase también

  • la función copy,
    que copia un archivo
  • la función rename,
    que renombra un archivo
  • la función is_uploaded_file,
    que verifica un archivo subido