Bonjour,

J'ai crée cette fonction afin qu'elle me redimensionne une image uploadé par un utilisateur ! En mème temps le fichier redimentionné doit etre un gif mais l'utilisateur peut uploader des jpg gif ou png .

Pouvez-vous me certifier que ma fonction me retourne bien une image GIF quand l'utilisateur upload un JPG ? Car la fonction retourne toujour une image redimentionnée comme nom.JPG. Si l'image retournée est bien un gif je n'ai plus qu'a renommer nom.jpg en nom.gif.

Voila ma fonction :

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
 
function redim_avatare($im_src,$im_dest)
{
 
    	$size = getimagesize($im_src); // Recuperation de la taille de l'image source		    	
	$src_w = $size[0]; // Largeur de l'image source				
	$src_h = $size[1]; // Hauteur de l'image source
 
	$pourcent = ((160 * 100) / $src_w) / 100; // Calcul du pourcentage de reduction de la largeur et de la hauteur pour 160 px de largeur
 
	$dst_w = floor($src_w*$pourcent); // Largeur de l'image de destination
	$dst_h = floor($src_h*$pourcent); // Hauteur de l'image de destination
	$dst_im = imagecreatetruecolor($dst_w,$dst_h); // Retourne une image noire
 
	$ext = strrchr($this->AvatarUser['name'], '.');
 
	if($ext == '.jpg' || $ext == '.jpeg')
		$src_im = imagecreatefromjpeg($im_src); // Retourne un identifiant d'image représentant une image obtenue à partir de l'image source
	elseif ($ext == '.gif')
		$src_im = imagecreatefromgif($im_src);
	elseif ($ext == '.png')
		$src_im =imagecreatefrompng($im_src);
 
imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h); // Copie, Redimentionne et rééchantillonne l'image source vers l'image destination
 
	$ext = strrchr($dst_im, '.'); // Recherche l'extention du fichier
 
	imagegif($dst_im, $im_dest);
 
	imagedestroy($dst_im); // Libère toute la mémoire associée à l'image image
	imagedestroy($src_im); // libère toute la mémoire associée à l'image image
 
}
Merci beaucoup