Maison >développement back-end >tutoriel php >Pourquoi le téléchargement de mon fichier PHP échoue-t-il et comment puis-je corriger les erreurs courantes ?

Pourquoi le téléchargement de mon fichier PHP échoue-t-il et comment puis-je corriger les erreurs courantes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-25 18:59:17981parcourir

Why is my PHP file upload failing, and how can I fix common errors?

Téléchargement de fichiers en PHP : dépannage des erreurs courantes

En PHP, le téléchargement de fichiers peut être une tâche simple. Cependant, certaines erreurs peuvent survenir, comme celle rencontrée dans l'extrait de code donné :

if (is_uploaded_file($HTTP_POST_FILES['filename']['tmp_name']))  {

Cette erreur indique que la variable $HTTP_POST_FILES n'est pas définie, ce qui arrive car elle est obsolète depuis PHP 4.1.0. . Pour résoudre ce problème, nous devons utiliser le tableau $_FILES, qui a remplacé $HTTP_POST_FILES.

Code correct :

if (is_uploaded_file($_FILES['filename']['tmp_name']))  {

De plus, fournissons un système plus efficace et approche moderne pour télécharger des fichiers en PHP :

$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". basename($_FILES["fileToUpload"]["name"])." has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

Dans ce code :

  • $_FILES["fileToUpload"] représente le fichier téléchargé via le formulaire HTML.
  • basename extrait le nom du fichier du chemin du fichier.
  • move_uploaded_file déplace le fichier téléchargé vers l'emplacement cible spécifié.

Ce code gère les téléchargements de fichiers de manière plus sécurisée et inclut une gestion appropriée des erreurs. Il adhère également aux meilleures pratiques et fournit une solution plus complète que le code d'origine.

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