Maison >développement back-end >tutoriel php >Comment résoudre les problèmes de téléchargement de fichiers en PHP en utilisant $_FILES ?

Comment résoudre les problèmes de téléchargement de fichiers en PHP en utilisant $_FILES ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-29 22:36:10638parcourir

How to Solve File Upload Issues in PHP Using $_FILES?

Téléchargement de fichiers avec PHP

Ce guide montre comment télécharger des fichiers en PHP, en corrigeant une erreur courante rencontrée dans les approches précédentes.

Problème :

Lors de la tentative de téléchargement d'un fichier dans un dossier spécifié, une erreur survient en raison de l'utilisation de la variable obsolète HTTP_POST_FILES.

Solution :

Le code PHP suivant fournit une solution modernisée et mise à jour pour les fichiers téléchargement :

$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
$allowedTypes = ['jpg', 'png'];

if (isset($_POST["submit"])) {
    // Check file type
    if (!in_array($imageFileType, $allowedTypes)) {
        $msg = "Type is not allowed";
    }
    // Check if file already exists
    elseif (file_exists($target_file)) {
        $msg = "Sorry, file already exists.";
    }
    // Check file size
    elseif ($_FILES["fileToUpload"]["size"] > 5000000) {
        $msg = "Sorry, your file is too large.";
    }
    elseif (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        $msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
    }
}

Explication :

  • $_FILES["fileToUpload"] récupère les informations de téléchargement du fichier.
  • $target_dir précise le dossier de destination.
  • Les instructions conditionnelles vérifient le type de fichier, son existence et size.
  • move_uploaded_file() déplace le fichier vers l'emplacement spécifié.
  • La variable $msg stocke les messages en fonction de l'état de téléchargement.

HTML Code de téléchargement :

<form action="upload.php" method="post">

En utilisant ce code mis à jour, vous pouvez télécharger avec succès des fichiers sur votre dossier souhaité et gérer les erreurs de validation de manière appropriée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn