Fonction is_uploaded_file

La fonction is_uploaded_file vérifie si le fichier spécifié a été téléchargé via une requête POST. Il s'agit d'une vérification de sécurité importante lorsque l'on travaille avec des fichiers téléchargés. La fonction accepte un paramètre - le chemin vers le fichier à vérifier, et retourne true si le fichier a été téléchargé via POST, et false dans le cas contraire.

Syntaxe

phpis_uploaded_file(string $filename): bool

Exemple

Vérifions si un fichier a été téléchargé via un formulaire :

php<?php
  if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
    echo 'File was uploaded via HTTP POST';
  } else {
    echo 'File was NOT uploaded via HTTP POST';
  }
?>

Exemple

Utilisation de la fonction en combinaison avec move_uploaded_file :

php<?php
  $temp_file = $_FILES['userfile']['tmp_name'];
  $target_file = 'uploads/' . $_FILES['userfile']['name'];
  
  if (is_uploaded_file($temp_file)) {
    move_uploaded_file($temp_file, $target_file);
    echo 'file uploaded successfully';
  } else {
    echo 'possible file upload attack';
  }
?>

Voir aussi

  • la fonction move_uploaded_file,
    qui déplace de manière sécurisée un fichier téléchargé
  • la fonction file_exists,
    qui vérifie l'existence d'un fichier (mais pas seulement les fichiers téléchargés)
  • la fonction tmpfile,
    qui crée un fichier temporaire
  • la fonction is_file,
    qui vérifie un fichier