Bonjour,
Voila j'ai crée un petit code pour charger une image, et je veux gérer les cas suivants:
- Chargement d'un fichier non image.
- Chargement une image d'une taille > 1Mo.
le problème c'est que tout marche bien sauf quand je charge une image > 1Mo, le prog me renvoi l'erreur d'un fichier inconnue et pas celui qui concerne la taille de l'image.
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
 
if(!empty($_FILES["fichier"]["name"]))
	{	
		$taille_max = 1000000;
 
		$nom_Fichier    = $_FILES["fichier"]["name"] ;
 
		$nom_Temporaire = $_FILES["fichier"]["tmp_name"] ;
 
		$poids_Fichier  = $_FILES["fichier"]["size"] ;
		if($poids_Fichier > $taille_max)
		{	
			array_push($error,"La taille de l'image que vous avez chargé est très grande.");
		}echo $poidsFichier;
 
		$typeFichier   = $_FILES["fichier"]["type"] ;
		if( !strstr($typeFichier, 'jpg') && !strstr($typeFichier, 'jpeg') && !strstr($typeFichier, 'bmp') && !strstr($typeFichier, 'gif') )
		{
			array_push($error,"Le fichier n'est pas une image");
		}
 
		//chemin qui mène au dossier qui va contenir les fichiers uplaod:
		$chemin = "..\..\img\\" ;
 
		if(copy($nom_Temporaire, $chemin.$nom_Fichier))
			echo("<br>l'upload a réussi<br>") ;
		else
			array_push($error,"L'upload a echoué.");
	}//fin if
	else
	{
		array_push($error,"Vous n'avez pas choisit de fichier!!") ;
	}//fin else		
 
	if(count($error))
	{  
		echo "<font face=Verdana size=2 color=#CC0000><b>";
		echo "Attention,";
		while($error)
		{ // tant que le tableau n'est pas vide
			echo array_shift($error)."<br>"; 
		}
		echo "</b></font>";
	}
quand j'affiche le nom temporaire et la taille du fichier, il m'affiche rien pour le nom et 0 pour la taille.
Merci d'avance.