salut

je réalise actuellement un upload d'image jquery/php , j'ai un souci l'upload fonctionne parfaitement à un détail pret, les images en png ressortes avec un fond noir,

j'ai essaye de remplace imagejpeg par imagepng mais cela fonctionne pas,


voici le code php de l'upload
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
<?php
session_start();
include("mysqlcon.php");
function getExtension($str) 
{
 
         $i = strrpos($str,".");
         if (!$i) { return ""; } 
         $l = strlen($str) - $i;
         $ext = substr($str,$i+1,$l);
         return $ext;
}
 
if(isset($_FILES["file"]))
{
 
	define ("MAX_SIZE",	"4000000");
	$errors	=	0;
	$filename		=	$_FILES["file"]["name"];
	$uploadedfile 	= 	$_FILES['file']['tmp_name'];
	$type_file 		= $_FILES['file']['type'];
	if ($filename) 
	{
		if( !is_uploaded_file($uploadedfile) )
		{
			echo "<script type='text/javascript'>alert(\"le fichier est introuvable\")</script>"; 
echo ("Fichier introuvable");
 
 
		}
		// on vérifie maintenant l'extension
		elseif( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'png'))
		{
			exit("Le fichier n'est pas une image");
echo ("Le fichier n'est pas une image");
 
		}
		else
		{
 
			$size		=	filesize($_FILES['file']['tmp_name']);
			if ($size > MAX_SIZE*1024)
			{echo ("vérifié la taille de image");
 
				exit ("verifier la taille de votre image!!");
				$errors=0;
			}
			$errors=1;
			$extension 	= 	getExtension($filename);
			$extension 	= 	strtolower($extension);
			if($extension=="jpg" || $extension=="jpeg" )
			{
				$uploadedfile 	= 	$_FILES['file']['tmp_name'];
				$src 			= 	imagecreatefromjpeg($uploadedfile);
			}
			else if($extension=="png")
			{
 
				$uploadedfile 	= 	$_FILES['file']['tmp_name'];
 
				$src 			= 	imagecreatefrompng($uploadedfile);
 
			}
			else 
				$src 	= 	imagecreatefromgif($uploadedfile);
 
			list($width,$height)	=	getimagesize($uploadedfile);
 
			if($height < 1000){
			$newwidth0	=	$width * 2;
			$newheight0	=	$height * 2;
			$tmp0		=	imagecreatetruecolor($newwidth0,$newheight0);
		} else {
 
			$newwidth0	=	$width;
			$newheight0	=	$height;
			$tmp0		=	imagecreatetruecolor($newwidth0,$newheight0);
 
 
		}
 
			$newwidth	=	$newwidth0;
			$newheight	=	$newheight0;
			$tmp		=	imagecreatetruecolor($newwidth,$newheight);
 
 
 
 
			imagecopyresampled($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
 
 
 
 
 
			 $name = "monsite-fr";
 
		$idcon = $_SESSION["id_user"];
        $dest_fichier = '' .time(). '' .$name. '.png';
		$filename 	= 	"upload/". $dest_fichier;
 
		echo ("https://www.monsite.fr/$filename");
$qu = "UPDATE commercant SET logo = '$filename' where id = '$idcon'";
 
 
 
$qu = $conn->query($qu);
 
 
 
 
	imagejpeg($tmp,$filename,100);
			imagedestroy($src);
			imagedestroy($tmp);
 
		}
	}
 
} else {
	echo("Mauvais fichier");
}
 
?>