Funzione move_uploaded_file

La funzione move_uploaded_file sposta un file caricato dalla directory temporanea alla posizione specificata. Il primo parametro della funzione accetta il nome temporaneo del file, e il secondo - il percorso per salvare il file.

Sintassi

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

Esempio

Spostamento di un file caricato nella cartella uploads:

php<?php
  $temp = $_FILES['file']['tmp_name'];
  $name = $_FILES['file']['name'];
  
  if (move_uploaded_file($temp, 'uploads/' . $name)) {
    echo 'file caricato con successo';
  } else {
    echo 'caricamento fallito';
  }
?>

Esempio

Verifica del caricamento riuscito del file prima dello spostamento:

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 ? 'Successo' : 'Errore';
  } else {
    echo 'Errore di caricamento: ' . $_FILES['file']['error'];
  }
?>

Esempio

Creazione di un nome file univoco durante lo spostamento:

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

Vedi anche

  • la funzione copy,
    che copia un file
  • la funzione rename,
    che rinomina un file
  • la funzione is_uploaded_file,
    che verifica un file caricato