Bonjour,
Je viens de remarquer un comportement très étrange avec un script d'upload de fichier tout bête:
Le formulaire:
Le script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <form action="uploadfile.php" method="post" enctype="multipart/form-data"> <p> Formulaire d'envoi de fichier :<br /> <input type="file" name="uploaded_file" /><br /> <input type="submit" value="Envoyer le fichier" /> </p> </form>
Si le fichier ne dépasse pas 2Mo (ce qui est autorisé dans mon php.ini) il est bien uploadé dans le dossier, si il dépasse 2Mo j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php $location ='documents/'; $file = $_FILES; //Check file exists and no error occured. if(isset($file['uploaded_file']) && $file['uploaded_file']['error'] == 0) { if(move_uploaded_file($file['uploaded_file']['tmp_name'], $location.$file['uploaded_file']['name'])) echo 'File transfer succeed'; else echo 'File transfer error'; } else { switch ($file['uploaded_file'] ['error']) { case 1: print '<p> The file is bigger than this PHP installation allows</p>'; break; case 2: print '<p> The file is bigger than this form allows</p>'; break; case 3: print '<p> Only part of the file was uploaded</p>'; break; case 4: print '<p> No file was uploaded</p>'; break; } } ?>
bien un message d'erreur, mais si le fichier dépasse 8Mo (d'après mes tests) rien ne se passe.
Le fichier n'est pas uploadé (ce qui est logique) mais je n'ai aucun message d'erreur car le
tableau $_FILES est vide.
Est ce que quelqu'un pourrait m'expliquer ce mystère ?
Merci
Partager