Comment gérer le téléchargement de fichiers en PHP ?
Avec le développement continu de la technologie Internet, la fonction de téléchargement de fichiers est devenue un élément essentiel de nombreux sites Web. Dans le langage PHP, nous pouvons gérer les téléchargements de fichiers via certaines bibliothèques de classes et fonctions. Cet article se concentrera sur la méthode de traitement du téléchargement de fichiers en PHP.
1. Paramètres du formulaire
Dans le formulaire HTML, nous devons définir l'attribut enctype sur "multipart/form-data" pour prendre en charge le téléchargement de fichiers. Le code est le suivant :
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit" value="上传"/> </form>
Parmi eux, l'attribut type de la balise d'entrée est "file" et l'attribut name est "file", qui est utilisé pour spécifier le nom du fichier téléchargé.
2. Traitement du téléchargement de fichiers PHP
En PHP, nous pouvons utiliser la variable globale $_FILES pour traiter les téléchargements de fichiers. En supposant que le fichier téléchargé dans notre formulaire s'appelle "fichier", alors en PHP, vous pouvez obtenir les informations sur le fichier téléchargé via $_FILES['file']. Le tableau
$_FILES contient cinq éléments :
- name : le nom du fichier téléchargé.
- type : Type de fichier téléchargé.
- tmp_name : Chemin de stockage temporaire des fichiers téléchargés.
- erreur : code d'erreur lors du téléchargement de fichiers.
- size : La taille du fichier téléchargé (en octets).
Ensuite, nous pouvons utiliser la fonction move_uploaded_file() pour déplacer le fichier téléchargé vers le dossier spécifié. Le code est le suivant :
$target_dir = "uploads/"; //上传文件的目标文件夹 $target_file = $target_dir . basename($_FILES["file"]["name"]); //上传文件的完整路径 if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) { echo "文件上传成功!"; } else { echo "文件上传失败!"; }
Dans le code ci-dessus, la variable $target_dir spécifie le dossier cible du fichier téléchargé, et la variable $target_file contient le chemin complet du fichier téléchargé. Nous pouvons utiliser la fonction move_uploaded_file() pour déplacer les fichiers temporaires vers le répertoire spécifié. Renvoie vrai si le mouvement réussit, faux sinon.
Lors du téléchargement de fichiers, afin de garantir la sécurité des fichiers, nous devons effectuer certaines vérifications et filtres sur les fichiers téléchargés. Par exemple, nous pouvons utiliser la fonction is_uploaded_file() pour vérifier si le fichier téléchargé provient réellement du client. Le code est le suivant :
if(is_uploaded_file($_FILES['file']['tmp_name'])){ //处理上传文件 }else{ echo "非法的文件上传!"; }
Nous pouvons également utiliser la fonction getimagesize() pour obtenir la largeur et la hauteur de l'image téléchargée. Le code est le suivant :
if (is_uploaded_file($_FILES['file']['tmp_name'])) { $image_info = getimagesize($_FILES['file']['tmp_name']); echo "图片宽度:".$image_info[0]."<br/>"; echo "图片高度:".$image_info[1]."<br/>"; echo "图片类型:".$image_info[2]."<br/>"; } else { echo "非法的文件上传!"; }
3. Limiter la taille des fichiers téléchargés
La limite par défaut de la taille des fichiers pouvant être téléchargés en PHP est de 2 Mo, mais nous pouvons également modifier cette limite en modifiant le fichier de configuration ou en le définissant en PHP. Par exemple, dans le fichier php.ini, nous pouvons définir upload_max_filesize et post_max_size pour limiter la taille des fichiers téléchargés.
Si nous voulons définir la valeur maximale des fichiers téléchargés en PHP, nous pouvons utiliser la fonction ini_set() pour modifier les paramètres dans php.ini. Le code est le suivant :
//设置上传文件的最大值为10M ini_set("upload_max_filesize","10M"); ini_set("post_max_size","10M");
Nous pouvons également utiliser $_SERVER['CONTENT_LENGTH'] pour obtenir la longueur du contenu dans les informations d'en-tête de la demande du client afin de déterminer si le fichier téléchargé dépasse la taille spécifiée. Le code est le suivant :
if($_SERVER['CONTENT_LENGTH'] > MAX_SIZE){ echo "上传文件超过了指定大小!"; }
Dans la partie front-end, vous pouvez également utiliser le plug-in jQuery.uploadFile.js pour limiter la taille des fichiers uploadés. Le code est le suivant :
<input type="file" name="file" id="file"/> <script src="js/jquery-1.12.4.min.js"></script> <script src="js/jquery.uploadfile.js"></script> <script> $("#file").uploadFile({ url: "upload.php", //处理文件上传的PHP脚本 maxFileSize: 1024*1024*5, //最大上传文件的大小,此处为5M }); </script>
4. Gestion des erreurs de téléchargement de fichiers
Lors du téléchargement de fichiers, vous pouvez rencontrer des erreurs. Par exemple, le fichier téléchargé est trop volumineux, le type de fichier téléchargé n'est pas autorisé, le dossier cible n'existe pas, etc. Nous devons gérer ces erreurs pour améliorer l'expérience utilisateur et l'efficacité des téléchargements de fichiers.
Certains codes d'erreur sont définis en PHP pour faciliter notre jugement et notre traitement des erreurs. Par exemple :
- UPLOAD_ERR_OK (0) : téléchargement réussi.
- UPLOAD_ERR_INI_SIZE(1) : Le fichier téléchargé dépasse la configuration dans php.ini.
- UPLOAD_ERR_FORM_SIZE(2) : Le fichier téléchargé dépasse la valeur spécifiée par MAX_FILE_SIZE dans le formulaire.
- UPLOAD_ERR_PARTIAL(3) : seule une partie du fichier téléchargé a été téléchargée.
- UPLOAD_ERR_NO_FILE(4) : Aucun fichier n'a été téléchargé.
- UPLOAD_ERR_NO_TMP_DIR(6) : Dossier temporaire introuvable.
- UPLOAD_ERR_CANT_WRITE(7) : échec de l'écriture du fichier.
Nous pouvons utiliser des instructions switch pour gérer ces erreurs. Le code est le suivant :
switch ($_FILES['file']['error']) { case UPLOAD_ERR_OK: //上传成功 break; case UPLOAD_ERR_INI_SIZE: echo "上传的文件超过了php.ini中的配置。"; break; case UPLOAD_ERR_FORM_SIZE: echo "上传的文件超过了表单中的MAX_FILE_SIZE指定的值。"; break; case UPLOAD_ERR_PARTIAL: echo "上传的文件只有部分被上传。"; break; case UPLOAD_ERR_NO_FILE: echo "没有文件被上传。"; break; case UPLOAD_ERR_NO_TMP_DIR: echo "找不到临时文件夹。"; break; case UPLOAD_ERR_CANT_WRITE: echo "文件写入失败。"; break; default: echo "未知错误。"; break; }
Si vous souhaitez limiter les types de fichiers téléchargés à des types spécifiques, vous pouvez utiliser la fonction in_array() pour porter un jugement. Le code est le suivant :
$allowed_types = array('jpg', 'jpeg', 'gif', 'png'); //允许上传的文件类型 $filename = $_FILES['file']['name']; $ext = pathinfo($filename, PATHINFO_EXTENSION); //获取文件类型后缀 if (!in_array($ext, $allowed_types)) { echo "不允许上传此类型的文件。"; }
5. Résumé
Le téléchargement de fichiers est un problème courant dans le développement Web. PHP fournit une variété de méthodes et de fonctions pour gérer le téléchargement de fichiers. En plus des méthodes présentées ci-dessus, nous pouvons également utiliser des bibliothèques de classes PHP pour le traitement du téléchargement de fichiers, telles que PHP File Uploader (https://www.github.com/verot/class.upload.php) et FineUploader (https:/ / fineuploader.com/). Quelle que soit la méthode utilisée, nous devons garantir la sécurité et la validité des fichiers téléchargés.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Traitement des formulaires PHP : réinitialisation des formulaires et effacement des données Dans le développement Web, les formulaires constituent un élément très important et sont utilisés pour collecter les données saisies par les utilisateurs. Une fois que l'utilisateur a soumis le formulaire, nous traitons généralement les données du formulaire et effectuons certaines opérations nécessaires. Cependant, dans le développement réel, nous rencontrons souvent des situations dans lesquelles nous devons réinitialiser le formulaire ou effacer les données du formulaire. Cet article expliquera comment utiliser PHP pour implémenter les fonctions de réinitialisation de formulaire et de suppression de données, et fournira des exemples de code correspondants. Réinitialisation du formulaire Tout d'abord, nous devons comprendre le concept de réinitialisation du formulaire. lorsque l'utilisateur

Traitement des formulaires PHP : tri et classement des données des formulaires Dans le développement Web, les formulaires sont une méthode de saisie utilisateur courante. Après avoir collecté les données du formulaire auprès des utilisateurs, nous devons généralement traiter et analyser les données. Cet article explique comment utiliser PHP pour trier et classer les données d'un formulaire afin de mieux afficher et analyser les données soumises par les utilisateurs. 1. Tri des données de formulaire Lorsque nous collectons les données de formulaire soumises par les utilisateurs, nous pouvons constater que l'ordre des données ne répond pas nécessairement à nos exigences. Pour ceux qui doivent être affichés ou divisés selon des règles spécifiques

Guide de traitement des formulaires PHP7 : Comment utiliser le tableau $_REQUEST pour obtenir les données du formulaire Présentation : Lorsqu'un utilisateur remplit un formulaire sur une page Web et le soumet, le code côté serveur doit traiter les données du formulaire. En PHP7, les développeurs peuvent facilement obtenir des données de formulaire en utilisant le tableau $_REQUEST. Cet article explique comment utiliser correctement le tableau $_REQUEST pour traiter les données du formulaire et fournit quelques exemples de code pour aider les lecteurs à mieux comprendre. 1. Comprendre le tableau $_REQUEST : $_REQUES

Téléchargement et traitement de fichiers dans Laravel : gestion des fichiers téléchargés par les utilisateurs Introduction : Le téléchargement de fichiers est une exigence fonctionnelle très courante dans les applications Web modernes. Dans le framework Laravel, le téléchargement et le traitement de fichiers deviennent très simples et efficaces. Cet article explique comment gérer les fichiers téléchargés par les utilisateurs dans Laravel, y compris la vérification, le stockage, le traitement et l'affichage des téléchargements de fichiers. 1. Téléchargement de fichiers Le téléchargement de fichiers fait référence au téléchargement de fichiers du client vers le serveur. Dans Laravel, les téléchargements de fichiers sont très simples à gérer. d'abord,

Traitement des formulaires PHP : exportation et impression des données des formulaires Dans le développement de sites Web, les formulaires sont un élément indispensable. Lorsqu'un formulaire sur le site Web est rempli et soumis par l'utilisateur, le développeur doit traiter les données du formulaire. Cet article explique comment utiliser PHP pour traiter les données d'un formulaire et montre comment exporter les données vers un fichier Excel et les imprimer. 1. Soumission du formulaire et traitement de base Tout d'abord, vous devez créer un formulaire HTML que les utilisateurs pourront remplir et soumettre des données. Disons que nous avons un simple formulaire de commentaires avec le nom, l'adresse e-mail et les commentaires. HTM

Comment utiliser PHP pour gérer les fonctions d'édition en ligne dans les formulaires Introduction : Les formulaires sont l'un des éléments couramment utilisés dans le développement Web et sont utilisés pour collecter les données saisies par les utilisateurs. La fonction d'édition en ligne permet aux utilisateurs de modifier et d'enregistrer instantanément des données directement dans le formulaire, améliorant ainsi l'expérience utilisateur et l'efficacité opérationnelle. Cet article expliquera comment utiliser PHP pour gérer les fonctions d'édition en ligne dans les formulaires et joindra des exemples de code correspondants. 1. Partie HTML Tout d'abord, nous devons créer un formulaire contenant une fonctionnalité d'édition en ligne. En HTML, nous pouvons utiliser du contenu

Premiers pas avec le traitement de fichiers PHP : guide étape par étape pour la lecture et l'écriture Dans le développement Web, le traitement de fichiers est une tâche courante, qu'il s'agisse de lire des fichiers téléchargés par les utilisateurs ou d'écrire les résultats dans des fichiers pour une utilisation ultérieure. Comprendre comment les utiliser. Le traitement des documents PHP est très important. Cet article fournira un guide simple pour présenter les étapes de base de la lecture et de l'écriture de fichiers en PHP, et joindra des exemples de code pour référence. Lecture de fichiers en PHP, vous pouvez utiliser la fonction fopen() pour ouvrir un fichier et renvoyer une ressource fichier (fichier

Comment utiliser le traitement des formulaires Vue pour implémenter la désactivation et l'activation du contrôle des formulaires. Dans le développement Web, les formulaires sont l'un des composants indispensables. Parfois, nous devons contrôler le statut désactivé et activé d'un formulaire en fonction de conditions spécifiques. Vue fournit un moyen concis et efficace de gérer cette situation. Cet article présentera en détail comment utiliser Vue pour implémenter la désactivation et l'activation du contrôle du formulaire. Tout d’abord, nous devons créer une instance Vue de base et un formulaire. Voici un exemple de code HTML et Vue de base : <divid=&
