Bonjour,
Je pense que ça doit être bête, mais je cherche depuis pas mal de temps, alors je pense que des yeux neufs verront le souci en 2 secondes.
J'ai une page de test pour uploader un fichier :
Voici le résultat :
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102 <center> <H1A> Page de test </H1A> <br><br> <?php /************************************************************ * Definition des constantes / tableaux et variables *************************************************************/ // Constantes define('TARGET', 'images/trombinoscope/'); // Repertoire cible define('MAX_SIZE', 200000); // Taille max en octets du fichier define('WIDTH_MAX', 800); // Largeur max de l'image en pixels define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels // Tableaux de donnees $tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees $infosImg = array(); // Variables $extension = ''; $message = ''; $nomImage = ''; print "POST : "; print_r($_POST);echo "<br>"; print "FILES : "; print_r($_FILES);echo "<br>"; if(!empty($_POST)) { // On verifie si le champ est rempli if( !empty($_FILES['fichier']['name']) ) { // Recuperation de l'extension du fichier $extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION); // On verifie l'extension du fichier if(in_array(strtolower($extension),$tabExt)) { // On recupere les dimensions du fichier $infosImg = getimagesize($_FILES['fichier']['tmp_name']); // On verifie le type de l'image if($infosImg[2] >= 1 && $infosImg[2] <= 14) { // On verifie les dimensions et taille de l'image if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE)) { // Parcours du tableau d'erreurs if(isset($_FILES['fichier']['error']) && UPLOAD_ERR_OK === $_FILES['fichier']['error']) { // On renomme le fichier $nomImage = md5(uniqid()) .'.'. $extension; // md5(uniqid()) permet de sécuriser l'image // Si c'est OK, on teste l'upload if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage)) { echo 'Upload réussi !'; } else { // Sinon on affiche une erreur systeme echo 'Problème lors de l\'upload !'; } } else { echo 'Une erreur interne a empêché l\'uplaod de l\'image'; } } else { // Sinon erreur sur les dimensions et taille de l'image echo 'Erreur dans les dimensions de l\'image !'; } } else { // Sinon erreur sur le type de l'image echo 'Le fichier à uploader n\'est pas une image !'; } } else { // Sinon on affiche une erreur pour l'extension echo 'L\'extension du fichier est incorrecte !'; } } else echo "Aucun fichier à uploader"; } ?> <div id="bloc"> <form method="post" action="" id="form_inscription"> <label> Télécharger une photo : </label> <input name="fichier" type="file" id="fichier_a_uploader" /> <br/> <br/> <center> <input type="submit" value="Enregistrer" name="submit" /> </center> </form> </div> </center>
Merci pour votre aidePage de test
POST : Array ( [fichier] => all black.jpg [submit] => Enregistrer )
FILES : Array ( )
Aucun fichier à uploader
Eddy
Partager