$ _FILES [ 'fichier'] [ 'size'] faisant écho à 0 (zéro) pour les fichiers plus upload_max_filesize
-
20-09-2019 - |
Question
Le problème est que je veux vérifier si le fichier est trop volumineux pour télécharger afin que je puisse afficher un message d'erreur correspondant, mais lorsque le fichier est plus grand que upload_max_filesize dans php.ini, il semble que l'affichage d'un 0.
Pourquoi est-ce qui se passe? Comment puis-je vérifier que le fichier est trop volumineux pour donner une erreur pertinente?
La solution
Voir http://php.net/manual/en/ features.file-upload.errors.php
extrait pertinent:
Depuis PHP 4.2.0, PHP renvoie une code d'erreur approprié avec le tableau fichier. Le code d'erreur peut être trouvée dans le segment d'erreur du fichier tableau qui est créé pendant le fichier télécharger en PHP. En d'autres termes, la peut-être trouvé une erreur dans $ _FILES [ 'userfile'] [ 'error'].
UPLOAD_ERR_OK Valeur: 0; Il n'y a pas erreur, le fichier téléchargé avec succès.
UPLOAD_ERR_INI_SIZE Valeur: 1; le fichier téléchargé est supérieure à la upload_max_filesize directive php.ini.
Autres conseils
le fait que le fichier est présent et dire 0 indique qu'une erreur est survenue ... En général, il est sur la limite de taille de fichier. C'est l'erreur pertinente .
modifier. Comme le commentateur ci-dessous mentionne, l'erreur est pertinente sur $ _FILES [ 'userfile'] [ 'error']