J'ai un problème sur un code extrêmement simple et malgré des recherches, je n'arrive pas à trouver de solution.
Le code de test.php :
<pre>
<?php
print_r($_POST);
print_r($_FILES);
?>
</pre>
<form action='test.php' method="post" enctype="multipart/form-data">
<input type='hidden' name='test' value='42' />
<input type='file' name='fichier' />
<input type='submit' />
</form>
Lorsque le fichier à uploader dépasse upload_max_size, alors : * $_POST et $_FILES sont vidés (mais ça, ca ne me gène pas)
* l'interpréteur émet le warning suivant :
Warning: POST Content-Length of 85622833 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
Et c'est cela qui me gène beaucoup, en effet, il n'est alors plus possible de rediriger l'utilisateur, ni même de démarrer une session une fois cette erreur partie (et le numéro de la ligne indique que l'erreur part avant de pouvoir faire quoique que ce soit, y compris un error_reporting(0) ou quelque chose du style).
Donc... avez-vous une solution qui :
- ne demande pas à modifier le error_reporting globale
- ne demande pas une modification de upload_max_size, post_max_size, memory_limit, etc ...
- permette de récupérer l'erreur et de rediriger proprement l'utilisateur (sans changer non plus le output_buffering bien sur)
Merci beaucoup !