Bonjour,

J'ai un petit problème. J'ai un code permettant l'upload de fichier, le voici :

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
34
35
36
37
38
39
40
41
42
43
44
45
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
        // Testons si le fichier n'est pas trop gros
        if ($_FILES['monfichier']['size'] <= 1048576)
    {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'txt', 'doc');
 
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
						$destination_fichier = 'uploads/' . time() . '.' .$extension_upload;
                        move_uploaded_file($_FILES['monfichier']['tmp_name'], $destination_fichier);
                        echo "L'envoi a bien été effectué !";
 
			   }
 
			   elseif ($extension_upload != $extensions_autorisees)
		       {
		               echo "Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...";
		       }
 
	}
 
	elseif ($_FILES['monfichier']['size'] > 1048576)
	{
	   echo 'Le fichier semble trop gros';
	}
 
 
}
 
 
 
else
{
  echo 'Erreur lors du traitement. Vous n\'avez spécifié aucun fichier.';
}
 
 
?>

Mon code ne marche que partiellement... Quand j'essaye d'uploader un fichier tel que .html ou .exe, j'obtiens le message "Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc..." tout va bien (fichier de petite taille < 1mo, constante écrite dans le code).

Mais quand c'est une video.avi ou une musique.mp3 ça me met "Erreur lors du traitement. Vous n'avez spécifié aucun fichier." cela quand le fichier mp3 ou avi fait plus de 1mo. Normalement ça devrait me mettre soit "le fichier est trop gros" soit "extension non autorisées".
Alors j'agrandi la taille d'upload que je fixe à 5 mo et 6mo dans php.ini, je choisis une musique.mp3 (2mo) et là j'ai le message suivant encore une fois : "Erreur lors du traitement. Vous n'avez spécifié aucun fichier.". Je recommence avec une musique.mp3 (1.89mo), j'obtiens : "Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc..." ce qui est bon.

Je ne vois pas l'erreur..
Comment y remédier ?

Merci