Bonjour,

dans ma partie administration, je veux envoyer des photos. Pour cela je voudrais les redimenssionner avant de les uploader. J'arrive à faire d'un coté le redimenssionnement et l'upload de l'autre. Mais je n'arrive pas a combiner les 2. Voici mon code, si quelqu'un pouvait me dire d'ou pourrait venir le problème. Pour moi le problème vient de l'utilisation du imagejpeg($image_redimenssionne, $nom_destination); et du move_uploaded_file($nom_fichier, $nom_destination); je n'arrive peut être pas a bien combiner les 2. Ou alors il faudrait que je puisse me servir seulement du move_upload_file mais pour cela il faudrait que la photo redimenssionnée soit dans le dossier temporaire $_FILES['photo']['name'].
Merci d'avance^^


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
<form action="#" method="POST" enctype="multipart/form-data"> 
<input type="file" name="photo" size="40"> 
<input type="submit" value="envoyer"> 
</form> 
 
<?php 
$photo=$_FILES['photo']['name']; //nom de la photo 
$nom_fichier=$_FILES['photo']['tmp_name']; //nom du fichier dans le répertoire temporaire 
list($largeur, $hauteur) = getimagesize($nom_fichier); 
$nouvelle_largeur = 548; 
$nouvelle_hauteur = 411; 
 
if($largeur>=548 && $hauteur>=411){ 
// si c'est le cas on redimenssionne 
$image_redimenssionne = imagecreatetruecolor($nouvelle_largeur, $nouvelle_hauteur); 
$ext=substr($photo, strpos($photo,".")+1); 
switch($ext){ 
case "JPG"; 
$image = imagecreatefromjpeg($nom_fichier); 
break; 
case "gif"; 
$image = imagecreatefromgif($nom_fichier); 
break; 
case "png"; 
$image = imagecreatefrompng($nom_fichier); 
break; 
default: 
echo "Type de fichier non supporté, veuillez changer le format en JPG, GIF ou PNG"; 
} 
 
imagecopyresampled($image_redimenssionne, $image, 0, 0, 0, 0, $nouvelle_largeur, $nouvelle_hauteur, $largeur, $hauteur); 
 
//et on enregistre 
$nom_destination="../Photos/$photo"; //nom et adresse de destination 
imagejpeg($image_redimenssionne, $nom_destination); 
 
imagedestroy($image_redimenssionne); 
imagedestroy($image); 
}else{ 
$nom_destination="../Photos/$photo"; //nom et adresse de destination 
move_uploaded_file($nom_fichier, $nom_destination); //envoie du fichier 
} 
?>