Maison > Article > développement back-end > Exemple d'analyse d'un fichier PHP unique et de plusieurs téléchargements de fichiers
Cet article vous donne principalement une analyse détaillée du code et des solutions aux problèmes pour le téléchargement de fichiers uniques et le téléchargement de fichiers multiples en PHP. Étudions ensemble pour référence. J'espère que cela pourra aider tout le monde.
Quand $_FILES est-il un tableau vide ?
Lorsque l'enctype de soumission du formulaire n'est pas égal à multipart/form-data dans le fichier de configuration php.ini, file_uploads = Off et la taille du fichier téléchargé > la taille de téléchargement maximale configurée dans le fichier de configuration php.ini
Tant que $_FILES est un tableau vide, les problèmes ci-dessus peuvent survenir et doivent être résolus !
Si vous cliquez immédiatement sur le bouton "Télécharger" sans sélectionner de fichier, $_FILES sera un tableau avec des éléments. Chaque attribut de l'élément est une chaîne vide et l'attribut d'erreur est 4
Téléchargement d'un seul fichierStructure de données $_FILESarray( 'filename' => array( 'name' => 'xxx.png', 'type' => 'image/png', 'size' => 2548863, 'tmp_name' => '/img/sdsdsd.png', 'error' => 0 ) )Qu'il s'agisse d'un seul fichier ou de plusieurs téléchargements de fichiers, il y aura 5 attributs fixes : nom / taille / type / tmp_name / erreur Téléchargement de fichiers multiplesPar rapport au téléchargement de fichiers uniques, le téléchargement de fichiers multiples est beaucoup plus compliqué à traiter. Deux formes de téléchargement de fichiers multiples sur le front-end <.>$_FILES sur le back-end Les structures de données correspondantes sont différentes
//name相同 <form method="post" enctype="multipart/form-data"> <input type="file" name="wt[]"/> <input type="file" name="wt[]"/> <input type="submit" value="提交"/> </form> //name不同(简单点) <form method="post" enctype="multipart/form-data"> <input type="file" name="wt"/> <input type="file" name="mmt"/> <input type="submit" value="提交"/> </form>Objectif de l'erreur de champ
//name相同 array (size=1) 'wt' => array (size=5) 'name' => array (size=2) 0 => string '新建文本文档 (2).txt' (length=26) 1 => string '新建文本文档.txt' (length=22) 'type' => array (size=2) 0 => string 'text/plain' (length=10) 1 => string 'text/plain' (length=10) 'tmp_name' => array (size=2) 0 => string 'C:\Windows\php1D64.tmp' (length=22) 1 => string 'C:\Windows\php1D65.tmp' (length=22) 'error' => array (size=2) 0 => int 0 1 => int 0 'size' => array (size=2) 0 => int 0 1 => int 1820 //name不同(简单点) array (size=2) 'wt' => array (size=5) 'name' => string '新建文本文档 (2).txt' (length=26) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39C7.tmp' (length=22) 'error' => int 0 'size' => int 0 'mmt' => array (size=5) 'name' => string '新建文本文档.txt' (length=22) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39D8.tmp' (length=22) 'error' => int 0 'size' => int 1820
Valeur : 1 Le fichier téléchargé dépasse la valeur limitée par l'option upload_max_filesize dans php.ini .
Valeur : 2 La taille du fichier téléchargé dépasse la valeur spécifiée par l'option MAX_FILE_SIZE dans le formulaire HTML.
Valeur : 3 Le fichier n'a été que partiellement téléchargé.
Valeur : 4 Aucun fichier n'a été téléchargé. Valeur : 5 La taille du fichier téléchargé est 0.
Recommandations associées :
Une classe de téléchargement de fichier PHP instance Sharing_phpimplémentation php A méthode de téléchargement de plusieurs fichiersUn exemple de la façon d'implémenter des classes de téléchargement de fichiers communes en phpCe 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!