téléchargement de plusieurs fichiers php
Présente le processus de téléchargement d'un seul fichier en PHP. Mais parfois, pour des raisons de commodité, nous devons répondre au besoin de télécharger plusieurs fichiers en même temps. Le principe du téléchargement multi-fichiers est le même, mais lors du traitement des données, les données téléchargées doivent être spécialement traitées.
<html> <head> <meta charset="utf-8" /> <title>單文件上傳</title> </head> <body> <form action="morefile.php" method="post" enctype="multipart/form-data"> <input type="file" name="file[]"> <input type="file" name="file[]"> <input type="submit" value="上傳"> </form> </body> </html>
Voici une simple page de téléchargement, et le formulaire soumet deux fichiers en même temps. Nous pouvons soumettre du contenu via cette page.
Remarque?:
1. Type d'entrée="file" name="file[]" Par rapport à avant, il y a un crochet supplémentaire après le fichier
2. écrit 2 ou plus input type="file" name="file[]"
Nous utilisons $_FILES pour recevoir des informations sur le fichier, imprimer et afficher le tableau?:
<?php var_dump($_FILES); //打印$_FILES查看數(shù)組結(jié)構(gòu) ?>
La structure du tableau est la suivante
array (size=1) 'file' => array (size=5) 'name' => array (size=2) //文件名 0 => string 'psu.jpg' (length=7) 1 => string 'qwe.jpg' (length=7) //文件mime類型 'type' => array (size=2) 0 => string 'image/jpeg' (length=10) 1 => string 'image/jpeg' (length=10) //緩存文件 'tmp_name' => array (size=2) 0 => string 'E:\wamp\tmp\phpF6D5.tmp' (length=23) 1 => string 'E:\wamp\tmp\phpF6F5.tmp' (length=23) //文件錯(cuò)誤信息 'error' => array (size=2) 0 => int 0 1 => int 0 //文件大小 'size' => array (size=2) 0 => int 225824 1 => int 151651
Nous pouvons voir que les deux fichiers sont stockés dans un tableau et que les noms de clés sont les mêmes que ceux du fichier unique téléchargé. Par conséquent, nous devons utiliser une boucle for() pour récupérer respectivement les données requises des deux fichiers.
Les données de deux fichiers sont enregistrées dans $_FILES en même temps. Nous devons utiliser une simple boucle pour lire les informations d'un seul fichier et déplacer le fichier vers l'emplacement souhaité.
<?php for ($i=0; $i < count($_FILE['file']['name']); $i++) { /* 用is_uploaded_file()函數(shù)判斷是上傳文件 并且沒有出現(xiàn)錯(cuò) */ if(is_uploaded_file($_FILEs['file']['tmp_name'][$i]) && $_FILEs['file']['error'][$i] == 0){ if(move_uploaded_file($_FILEs['file']['tmp_name'][$i],'upload/'.$_FILE['file']['name'][$i])){ //用move_uploaded_file()函數(shù)移動(dòng)文件到指定的位置并使用文件原名 echo "上傳成功"; }else{ echo '上傳失敗'; } }else{ echo '上傳失敗'; } } ?>
Pour le processus de jugement détaillé, veuillez vous référer au téléchargement d'un seul fichier. Seul un jugement de base est effectué ici, et il n'y a aucun rappel sur la taille et le format du fichier.
Veuillez juger vous-même de la taille et du format du fichier en fonction de l'entreprise et fournir des rappels d'erreur.