Maison > Article > développement back-end > Que dois-je faire si php ne peut pas recevoir de fichier ?
Solution au problème selon lequel php ne peut pas recevoir de fichier : 1. Recherchez le fichier de configuration php.ini ; 2. Configurez le contenu "upload_max_filesize = 30M" ; 3. Modifiez l'option post_max_size.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.
Que dois-je faire si php ne peut pas recevoir le fichier ?
Raisons courantes pour lesquelles $_file ne peut pas être obtenu par php
Un problème étrange s'est produit lors du téléchargement du formulaire for aujourd'hui. La soumission du formulaire n'a pas pu être obtenue, et même les champs ordinaires n'ont pas pu être obtenus, car le fichier était. téléchargé. J'ai vérifié si l'attribut enctype="multipart/form-data" avait été ajouté au formulaire for, et j'ai constaté qu'il avait été ajouté
Plus tard, j'ai activé la fonction de téléchargement de fichier file_uploads=on en php. ini et j'ai découvert qu'il était également activé. J'ai passé beaucoup de temps à réfléchir et à déboguer. Cela n'a toujours pas fonctionné. Ensuite, j'ai pensé à un autre projet sur lequel je travaillais et qui téléchargeait également des images et pouvait obtenir des données. J'ai trouvé qu'il n'y avait aucune différence dans le code. Cela ne fonctionnait toujours pas quand je l'ai eu ici, alors je suis allé sur php.ini j'ai vérifié la configuration pour voir s'il y avait quelque chose qui ne va pas, j'ai vu upload_max_filesize =2M (c'est-à-dire. , la taille du fichier de téléchargement est de 2 M). Comme le fichier que j'ai téléchargé dépassait 2 M, j'ai remplacé upload_max_filesize =2M par upload_max_filesize =64M. J'ai redémarré le serveur et j'ai constaté qu'il ne fonctionnait toujours pas. Ensuite, j'ai réfléchi à l'existence de restrictions. en soumettant le formulaire. Plus tard, il est intéressant de trouver post_max_size=8M dans php.ini (qui représente la longueur maximale en octets des données POST autorisée, la valeur par défaut est 8M). Modifiez-la en post_max_size=64M et redémarrez le service. .
Résumé :
La taille de téléchargement de fichier par défaut dans le fichier de configuration php.ini est de 2 Mo, et la taille par défaut upload_max_filesize = 2 Mo, c'est-à-dire que la taille de téléchargement de fichier est de 2 Mo si vous souhaitez télécharger des fichiers dépassant 8 Mo, par exemple 30 Mo. , vous devez configurer upload_max_filesize = 30M.
Mais le simple réglage de upload_max_filesize = 30M ne permet toujours pas de réaliser la fonction de téléchargement de fichier. Vous devez modifier l'option post_max_size dans le fichier de configuration php.ini, qui représente la longueur maximale en octets de données autorisée pour le POST, donc vous également. besoin de définir post_max_size= 30M.
Si les données POST dépassent la limite, alors $_POST et $_FILES seront vides. Pour télécharger des fichiers volumineux, vous devez définir cette option sur une valeur supérieure ou égale à la valeur de la directive upload_max_filesize.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!