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.
quand j'affiche le nom temporaire et la taille du fichier, il m'affiche rien pour le nom et 0 pour la taille.
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>"; }
Merci d'avance.
Partager