| Auteur | |
|---|---|
| MatTheCat | # 13 Mar 2010 - 21:38:37 |
1 up ! 83 Posts |
Bonsoir ! J'ai un petit problème avec un script d'upload, mais uniquement dans le cas où la taille du fichier dépasse celle des directives post_max_size et upload_max_filesize. En effet la doc et tous les sites que j'ai consulté prétendent que dans ce cas la valeur $_FILES['name']['error'] doit être à 1, or dans mon cas la page est rechargée sans les données $_POST et $_FILES... Ce n'est pas non plus un problème de timeout puisque j'ai fixé ma dernière limite à 1Mo ^^ Donc si vous pouviez m'éclairer sur le sujet..! Le code n'est pas nécessaire puisqu'il s'agît d'un simple upload ; et pour info je bosse avec wamp. Merci d'avance ! Un clavier azerty en vaut deux. |
|
|
| Heyoan | # 13 Mar 2010 - 21:58:45 |
| Modérateur 8101 Posts |
Salut, cela est dû à la directive post_max_size du php.ini : si cette taille est dépassée $_POST et $_FILES seront vides. Comme mentionné dans le lien tu peux rajouter une variable GET dans l'attribut action de ton formulaire pour le vérifier : if(isset($_GET['test']) && empty($_POST)) fichier trop gros. |
| MatTheCat | # 14 Mar 2010 - 15:30:49 |
1 up ! 83 Posts |
Ok merci ça marche nickel ^^ Juste une interrogation ; j'ai testé l'envoi d'un fichier dont la taille était comprise entre upload_max_filesize (supérieure) et post_max_size (inférieure) mais $_POST et $_FILES sont tout autant vides..! Comment peut-on donc récupérer la valeur UPLOAD_ERR_INI_SIZE dans $_FILES ?? Un clavier azerty en vaut deux. |
|
|
| Heyoan | # 14 Mar 2010 - 16:01:10 |
| Modérateur 8101 Posts |
MatTheCat a écrit :Par défaut ces 2 valeurs sont égales et valent 2Mo (cf. le php.ini). Pour le vérifier faire <?php phpinfo(); ?> MatTheCat a écrit :Euh... pas compris : UPLOAD_ERR_INI_SIZE est une constante (qui vaut 1) et correspond à la valeur de $_FILE['fichier']['error'] lorsque la taille du fichier dépasse celle autorisée dans le php.ini (upload_max_filesize). |