Fonction move_uploaded_file

La fonction move_uploaded_file déplace un fichier téléchargé du répertoire temporaire vers l'emplacement spécifié. Le premier paramètre de la fonction accepte le nom temporaire du fichier, et le second - le chemin pour sauvegarder le fichier.

Syntaxe

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

Exemple

Déplacement d'un fichier téléchargé vers le dossier uploads :

php<?php
  $temp = $_FILES['file']['tmp_name'];
  $name = $_FILES['file']['name'];
  
  if (move_uploaded_file($temp, 'uploads/' . $name)) {
    echo 'fichier téléchargé avec succès';
  } else {
    echo 'échec du téléchargement';
  }
?>

Exemple

Vérification du succès du téléchargement du fichier avant le déplacement :

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 ? 'Succès' : 'Erreur';
  } else {
    echo 'Erreur de téléchargement : ' . $_FILES['file']['error'];
  }
?>

Exemple

Création d'un nom de fichier unique lors du déplacement :

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

Voir aussi

  • la fonction copy,
    qui copie un fichier
  • la fonction rename,
    qui renomme un fichier
  • la fonction is_uploaded_file,
    qui vérifie un fichier téléchargé