Erreurs classiques
La variable MAX_FILE_SIZE ne peut pas spécifier une taille
de fichier plus grande que la taille qui a été
fixée par upload_max_filesize,
dans le php.ini. La valeur par défaut est 2 mégaoctets.
Si une limite de mémoire est activée, une plus grande valeur de
memory_limit peut ĂȘtre nĂ©cessaire.
Il faut s'assurer d'avoir défini une valeur pour
memory_limit assez grande.
Si la valeur de
max_execution_time est trop
petite, le temps d'exécution du script peut excéder cette valeur.
Il faut s'assurer d'avoir défini une valeur pour
max_execution_time assez grande.
Note:
max_execution_time affecte
uniquement le temps d'exécution du script. Le temps passé sur l'activité
qui apparaßt en dehors de l'exécution du script comme les appels systÚmes
avec la fonction system(), la fonction
sleep(), les requĂȘtes sur les bases de donnĂ©es, le temps
mis pour effectuer le téléchargement du fichier, etc. n'est pas inclus lors
du calcul du temps maximal de l'exécution du script.
Avertissement
max_input_time définit le temps
maximal, en secondes, au script pour recevoir les données ; cela inclut le
téléchargement du fichier. Pour les fichiers multiples, ou les gros
fichiers, ou encore pour les utilisateurs sur des connexions lentes,
la valeur par dĂ©faut de 60 secondes peut ĂȘtre dĂ©passĂ©e.
Si post_max_size est défini de façon
trop faible, les gros fichiers ne pourront pas ĂȘtre tĂ©lĂ©chargĂ©s. Il faut s'assurer
de définir post_max_size avec une taille suffisante.
La configuration de
max_file_uploads contrĂŽle le nombre
maximum de fichiers qui peuvent ĂȘtre envoyĂ©s en une requĂȘte. Si le nombre de fichiers
envoyĂ©s dĂ©passe cette limite, alors $_FILES arrĂȘtera la rĂ©ception.
Par exemple, si max_file_uploads vaut
10, alors $_FILES ne contiendra jamais plus de
10 entités.
Ne pas valider les fichiers manipulés peut donner l'accÚs
aux utilisateurs Ă des fichiers sensibles dans d'autres dossiers !
Du fait de la grande diversité des styles de listage de dossier, nous ne pouvons garantir que les fichiers
avec des noms exotiques (par exemple, ceux contenant des espaces) seront
traités correctement.
Le développeur ne doit pas mixer les champs input
normaux et les champs de tĂ©lĂ©chargement dans une mĂȘme variable
(en utilisant un nom d'input comme
foo[]).