Bonjour à vous,

J'essaye depuis de jour de faire un script d'upload d'image
( Je sais, je ne suis pas très doué )

Je suis finalement arrivé tant bien que mal à faire marcher quelque chose qui envoie dans un dossier image après redimensionnement.

Ma problème est que j'aimerais garder deux version de mon image uploadé, l'originale et la miniature.
Mais c'est un peu le souk dans mon script et je ne sais pas vraiment où placer le fait de garder l’originale.

Quelqu'un peu m'aider

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
 
    define('TARGET', 'images/');
    define('MAX_SIZE', 200000); 
    define('WIDTH_MAX', 1920);
    define('HEIGHT_MAX', 1080);
 
    $tabExt = array('jpg','gif','png','jpeg'); 
    $infosImg = array();
 
    $extension = '';
    $message = '';
    $nomImage = '';
 
 
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)){ 
                    //on redimentionne limage
 
                    $x = 300; 
                    $y = 200; # Taille en pixel de l'image redimensionnée 
 
							}
 
                    if ($infosImg) echo 'Image redimensionnée ... '; 
 
                    if ($infosImg['mime']=='image/jpeg' ) { 
                        $img_big = imagecreatefromjpeg($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine 
                       $img_new = imagecreate($x, $y); 
                        # création de la miniature 
                       $img_mini = imagecreatetruecolor($x, $y) 
                        or $img_mini = imagecreate($x, $y); 
 
                        // copie de l'image, avec le redimensionnement. 
                        imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); 
 
                        imagejpeg($img_mini,$_FILES['fichier']['tmp_name'] ); 
                    }
                    elseif ($infosImg['mime']=='image/png' ) { 
                        $img_big = imagecreatefrompng($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine 
                       $img_new = imagecreate($x, $y); 
                        # création de la miniature 
                       $img_mini = imagecreatetruecolor($x, $y) 
                        or $img_mini = imagecreate($x, $y); 
 
                        // copie de l'image, avec le redimensionnement. 
                        imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); 
 
                        imagepng($img_mini,$_FILES['fichier']['tmp_name'] ); 
                    }
                    elseif ($infosImg['mime']=='image/gif' ) { 
                        $img_big = imagecreatefromgif($_FILES['fichier']['tmp_name']); # On ouvre l'image d'origine
                       $img_new = imagecreate($x, $y); 
                        # création de la miniature 
                       $img_mini = imagecreatetruecolor($x, $y) 
                         or $img_mini = imagecreate($x, $y); 
 
                        // copie de l'image, avec le redimensionnement. 
                        imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$infosImg[0],$infosImg[1]); 
 
                        imagegif($img_mini,$_FILES['fichier']['tmp_name'] ); 
                    }
 
                    { 
                        // Parcours du tableau d'erreurs 
                        if(isset($_FILES['fichier']['error']) 
                            && UPLOAD_ERR_OK === $_FILES['fichier']['error']) { 
                            // On renomme le fichier 
                            $nomImage = md5(uniqid()) .'.'. $extension; 
                            // Si c'est OK, on teste l'upload 
                            if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage)) { 
                                $message = 'Upload réussi !';
                            } 
                            else { 
                                // Sinon on affiche une erreur systeme 
                                $message = 'Problème lors de l\'upload !';
                            } 
                        } 
                        else { 
                        $message = 'Une erreur interne a empêché l\'uplaod de l\'image';
                        } 
                    }
                }  
                else { 
                    // Sinon erreur sur les dimensions et taille de l'image 
                    $message = 'Erreur dans les dimensions de l\'image !'; 
                } 
            } 
            else { 
                // Sinon erreur sur le type de l'image 
                $message = 'Le fichier à uploader n\'est pas une image !'; 
            } 
        } 
        else { 
            var_dump($_FILES);
            // Sinon on affiche une erreur pour l'extension 
            $message = 'La validation est incorrecte !';
        } 
        }
    else { 
    // Sinon on affiche une erreur pour le champ vide 
        $message = 'Veuillez remplir le formulaire svp !'; 
    }
?>