**** JE me suis planté de forum, milles pardon, cela devrait être dans le forum PHP ****



Bonjour chers membres du forum,

Je cherche a telecharger des images sur mon serveur via un script PHP.

Mon script a ctuel le fait trés bien sauf qu'il se limite aux GIF, PNG et JPG...

J'aurai voulu que quelques soient les extentions, il puisse reduire l'imgae et l'enregistrer sous la forme d'un JPG, s'il vous plait.

Voici mon code :
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
 
// on récupère les infos du fichier à uploader
$fichier_temp = $_FILES['fichier_upload_'.$nbr]['tmp_name'];
$fichier_nom = $_FILES['fichier_upload_'.$nbr]['name'];
 
// on défini les dimensions et le type du fichier
list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);
 
// infos de contrôle du fichier
$fichier_poids_max = 2000000;
$fichier_h_max = 1224;
$fichier_l_max = 1632;
 
// dossier de destination
$fichier_dossier = "photo/";
 
// extension du fichier
$fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);
 
// on renomme le fichier
$fichier_date = date("ymdhis");
$fichier_n_nom = $mb."_".$fichier_date."_".$fichier_nom;
 
	// on vérifie s'il y a bien un fichier à uploader
	if (!empty($fichier_temp) && is_uploaded_file($fichier_temp)) {
 
		// on vérifie le poids du fichier
		if (filesize($fichier_temp)<$fichier_poids_max) {
 
			// types de fichiers autorises 1=gif / 2=jpg / 3=png
			if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3)) {
 
				// on vérifie si l'image n'est pas trop grande
				if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max)) {
 
					// si le fichier est ok, on l'upload sur le serveur
					if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom)) {
 
						// on donne un acces total sur le fichier
						//chmod ($fichier_dossier.$fichier_n_nom, 0777);
																/***********************
							création de la miniature
							***********************/
 
				// dimension maximale largeur et hauteur comprise
				$taille_maxG = 550;
 
				// si le fichier est plus grand que $taille_max on le miniaturise
				if ($fichier_haut > $taille_maxG) {
				$mini_hautG = $taille_maxG;
				$mini_largG = $fichier_larg / ($fichier_haut / $taille_maxG);
 
				// si le fichier est un .gif
				if ($fichier_type === 1){
				// definition de l'image dont on va faire une miniature
				$fichier_sourceG = imagecreatefromgif($fichier_dossier.$fichier_n_nom);
				// on prépare le fichier miniature qui accueillera l'image réduite
				$fichier_reduitG = imagecreate($mini_largG, $mini_hautG);
				// fond blanc pour l'image
				$fond_blanc = imagecolorallocate($fichier_reduitG, 255, 255, 255);
				// dimensions x et y à donner au fichier
				$fichier_larg_redG = imagesx($fichier_reduitG);
				$fichier_haut_redG = imagesy($fichier_reduitG);
				// on rajoute un mini_ defant le nom du fichier
				$nom_fichier_reduitG = $fichier_n_nom;
				// on redimensionne l'image de base dans le fichier $fichier_reduit
				imagecopyresampled($fichier_reduitG, $fichier_sourceG, 0, 0, 0, 0, $fichier_larg_redG, $fichier_haut_redG, $fichier_larg, $fichier_haut);
				// on rend transparent le fond blanc
				imagecolortransparent($fichier_reduitG, $fond_blanc);
				// crée le fichier réduit définitif
				imagegif($fichier_reduitG, $fichier_dossier.$nom_fichier_reduitG);
				// on donne un acces total sur le fichier
				chmod($fichier_dossier.$nom_fichier_reduitG, 0777);}
 
 
				// si le fichier est un .jpg / .jpeg
				if ($fichier_type===2){
				// définition de la qualité
				$qualite=80;
				// definition de l'image dont on va faire une miniature
				$fichier_sourceG = imagecreatefromjpeg($fichier_dossier.$fichier_n_nom);
				// on prépare le fichier miniature qui accueillera l'image réduite	
				$fichier_reduitG = imagecreatetruecolor($mini_largG, $mini_hautG);
				// dimensions x et y à donner au fichier
				$fichier_larg_redG = imagesx($fichier_reduitG);
				$fichier_haut_redG = imagesy($fichier_reduitG);
				// on rajoute un mini_ defant le nom du fichier
				$nom_fichier_reduitG = $fichier_n_nom;
				// on redimensionne l'image de base dans le fichier $fichier_reduit
				imagecopyresampled($fichier_reduitG, $fichier_sourceG, 0, 0, 0, 0, $fichier_larg_redG, $fichier_haut_redG, $fichier_larg, $fichier_haut);
				// crée le fichier réduit définitif
				imagejpeg($fichier_reduitG, $fichier_dossier.$nom_fichier_reduitG, $qualite);
				// on donne un acces total sur le fichier
				chmod($fichier_dossier.$nom_fichier_reduitG, 0777);}
 
				// si le fichier est un .png
				if ($fichier_type===3){
				// definition de l'image dont on va faire une miniature
				$fichier_sourceG = imagecreatefrompng($fichier_dossier.$fichier_n_nom);
				// on prépare le fichier miniature qui accueillera l'image réduite
				$fichier_reduitG = imagecreatetruecolor($mini_largG, $mini_hautG);
				// dimensions x et y à donner au fichier
				$fichier_larg_redG = imagesx($fichier_reduitG);
				$fichier_haut_redG = imagesy($fichier_reduitG);
				// on rajoute un mini_ defant le nom du fichier
				$nom_fichier_reduitG = $fichier_n_nom;
				// on redimensionne l'image de base dans le fichier $fichier_reduit
				imagecopyresampled($fichier_reduitG, $fichier_sourceG, 0, 0, 0, 0, $fichier_larg_redG, $fichier_haut_redG, $fichier_larg, $fichier_haut);
				// crée le fichier réduit définitif
				imagepng($fichier_reduitG, $fichier_dossier.$nom_fichier_reduitG);
				// on donne un acces total sur le fichier
				chmod($fichier_dossier.$nom_fichier_reduitG, 0777);}
 
 
				}
				else {$nom_fichier_reduitG = $fichier_n_nom;}
 
etc.....