Bonsoir ,

J'ai un script qui me permet d'uploader 2 photos en meme temps. Jusqu'ici , pas de problème ...
Ensuite , je souhaite créer une miniature de la première photo , qui devra porter le meme nom qui devra se "nicher " dans le dossier "..images/mini/"
Je ne parviens pas pas à générer la miniature .
Un coup de main serait le bienvenu .
Voici mon code ( issu de script que j'ai tenté d'adapter ...) :

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data"> <fieldset> <legend>Transf&eacute;rez vos photos </legend>
     <p>
       <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
       S&eacute;lectionnez votre photo de l'avers :
       <input type="file" name="avatar">
     </p>
     <p> S&eacute;lectionnez votre photo du revers <span class="Style2">.</span>: 
       <input type="file" name="av">
      </p>
     <p>
       <input type="submit" name="ok" id="ok" value="Téléchargez les 2 photos " /> 
        </p>
</fieldset> 
</form> 
 
      <span class="Style7">
      <?php if (isset($_FILES['avatar']['name'])) {
// traitement
$dossier = 'images/avers/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 2000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez télécharger un fichier de type  jpg ...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
	 $time = date("YmdHis");
	 $S = substr(md5($fichier.$time),0,15);
	 $Nom = $S.".jpg";
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $Nom)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Téléchargement effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec du téléchargement !';
     }
}
else
{
     echo $erreur;
}
}
 
 
?>
      </span>
<?php if (isset($_FILES['av']['name'])) {
// traitement
$dossier = 'images/avers/';
$fichier = basename($_FILES['av']['name']);
$taille_maxi = 2000000;
$taille = filesize($_FILES['av']['tmp_name']);
$extensions = array('.jpg', '.jpeg');
$extension = strrchr($_FILES['av']['name'], '.'); 
 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez télécharger un fichier de type  jpg ...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
	 $time = date("YmdHis");
	 $T = substr(md5($fichier.$time),0,15);
	 $Nom = $T.".jpg";
     if(move_uploaded_file($_FILES['av']['tmp_name'], $dossier . $Nom)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo '';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec du téléchargement !';
     }
}
else
{
     echo $erreur;
}
}
// on défini le répertoire où seront stockées les miniatures  
$mini = '../images/mini';  
// on défini une variable $ratio qui vaudra 100 dans notre cas (100 pixels). En fait, pour nos miniatures, nous allons respecter le ratio de l'image originale, mais nous allons forcer sa taille à 150 pixels, soit en hauteur soit en largeur (tout dépend de l'orientation de notre image : paysage ou portrait).  
$ratio = 100;  
 
// on teste si le formulaire permettant d'uploader un fichier a été soumis  
if (isset($_POST['ok'])) { 
   // on teste si le champ permettant de soumettre un fichier est vide ou non 
   if (empty($_FILES['avatar']['tmp_name'])) { 
      // si oui, on affiche un petit message d'erreur 
   } 
   else { 
      // on examine le fichier uploadé en récupérant de nombreuses informations sur ce fichier (je vous suggère de regarder la documentation de la fonction getimagesize pour de plus amples informations) 
      $tableau = @getimagesize($_FILES['avatar']['tmp_name']); 
      if ($tableau == FALSE) { 
         // si le fichier uploadé n'est pas une image, on efface le fichier uploadé et on affiche un petit message d'erreur 
         unlink($_FILES['avatar']['tmp_name']); 
         $erreur = 'Votre fichier n\'est pas une image.'; 
      } 
      else { 
         // on teste le type de notre image : jpeg ou png 
         if ($tableau[2] == 2 || $tableau[2] == 3) { 
            // si on a déjà un fichier qui porte le même nom que le fichier que l'on tente d'uploader, on modifie le nom du fichier que l'on upload 
            if (is_file('../images/avers/'.$_FILES['mon_image']['name'])) $file_upload = '_'.$_FILES['avatar']['name']; 
            else $file_upload = $_FILES['avatar']['name']; 
 
            // on copie le fichier que l'on vient d'uploader dans le répertoire des images de grande taille 
            copy ($_FILES['avatar']['tmp_name'], $dossier.$file_upload); 
 
            // il nous reste maintenant à générer la miniature 
 
            // si notre image est de type jpeg 
            if ($tableau[2] == 2) { 
               // on crée une image à partir de notre grande image à l'aide de la librairie GD 
               $src = imagecreatefromjpeg($dossier.$file_upload); 
               // on teste si notre image est de type paysage ou portrait 
               if ($tableau[0] > $tableau[1]) { 
                  $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); 
                  imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); 
               } 
               else { 
                  $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); 
                  imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); 
               } 
               // on copie notre fichier généré dans le répertoire des miniatures 
               imagejpeg ($im, $mini.'/'.$file_upload); 
            } 
            elseif ($tableau[2] == 3) { 
               $src = imagecreatefrompng($dossier.$file_upload); 
               if ($tableau[0] > $tableau[1]) { 
                  $im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio); 
                  imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]); 
               } 
               else { 
                  $im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1])); 
                  imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]); 
               } 
               imagepng ($im, $mini.'/'.$file_upload); 
         } 
         else { 
            // si notre image n'est pas de type jpeg ou png, on supprime le fichier uploadé et on affiche un petit message d'erreur 
            unlink($_FILES['avatar']['tmp_name']); 
            $erreur = 'Votre image est d\'un format non supporté.'; 
         } 
      } 
   }  
}  
}