
Membre
|
Bonjour,
Je suis entrain de créer un script pour upload et le redimensionnement d'images:
Avec les fichiers JPG tous ce passe bien, avec les fichiers PNG je n'ai aucun message d'erreur mais le fichiers n'est pas enregistré!
D'avance merci pour vos réponses...(je publie la totalité de mon script il y a un appel a du JS puis le formulaire et la partie PHP désolé pour la longueur...)
JS:
<script type="text/javascript">
<!--
function uploadInit() {
// Je pré-charge l'image
var oLoading = new Image();
oLoading.src = "loading.gif";
}
function uploadRun() {
document.getElementById("uploadStatus").innerHTML = "<img src=\"/default/images/loading.gif\" alt=\"OK...\" width=\"220\" height=\"19\" />";
document.getElementById("uploadSubmit").disabled = true;
return true;
}
function uploadEnd(sError, sPath) {
if(sError == 'OK') {
document.getElementById("uploadStatus").innerHTML = "<a href=\"" + sPath + "\" title=\"Go to " + sPath + "\">téléchargement réussi!</a>";
} else {
document.getElementById("uploadStatus").innerHTML = sError;
}
document.getElementById("uploadSubmit").disabled = false;
}
//-->
</script>
HTML:
</head>
<body onunload="uploadInit();">
<form id="uploadForm" enctype="multipart/form-data" action="test5.php" target="uploadFrame" onsubmit="uploadRun();" method="post" value="2097152">
<p> </p>
<p><input id="uploadFile" name="uploadFile" type="file" />
<input id="uploadSubmit" type="submit" value="télécharger" /></p>
<div align="left" class="vert" id="uploadStatus"></div>
<iframe id="uploadFrame" name="uploadFrame" src="#"></iframe>
</form>
PHP:
<?php
if(isset($_FILES['uploadFile']))
{
if ($_FILES['uploadFile']['error'] <= 0)
{
if ($_FILES['uploadFile']['size'] <= 2097152)
{
$filename = $_FILES['uploadFile']['name'];
$path = pathinfo($filename);
$filesext = $path['extension'];
$filesext = strtolower($filesext);
$extensions_autorisees = array('jpg', 'jpeg', 'pjpg', 'pjpeg', 'JPG', 'png', 'gif', 'tiff');
if (in_array($filesext, $extensions_autorisees))
{
$mimeext = array('jpg' => 'image/jpeg', 'jpeg'=>'image/jpeg', 'png'=>'image/png', 'gif'=>'image/gif', 'tiff'=>'image/tiff' );
$mimextie = array('jpg' => 'image/pjpeg', 'jpeg'=>'image/pjpeg');
if ($filesext == 'jpg' || $filesext == 'jpeg' || $filesext == 'pjpg' || $filesext == 'pjpeg')
{
$jpgimg = getimagesize($_FILES['uploadFile']['tmp_name']);
if($jpgimg['mime'] == $mimeext[$filesext] || $jpgimg['mime'] == $mimeextie[$filesext])
{
}
else
{
echo 'Le type MIME de l\'image n\'est pas bon';
}
$jpgimg = imagecreatefromjpeg($_FILES['uploadFile']['tmp_name']);
$tjpgimg = getimagesize($_FILES['uploadFile']['tmp_name']);
$newlarg = 350;
$newhaut = ( ($tjpgimg[1] * (($newlarg)/$tjpgimg[0])) );
$newjpgimg = imagecreatetruecolor($newlarg , $newhaut) or die ("Erreur");
imagecopyresampled($newjpgimg , $jpgimg , 0,0, 0,0, $newlarg, $newhaut, $tjpgimg[0],$tjpgimg[1]);
imagedestroy($jpgimg);
$filerename = 'fichier_du_'.date('YmdHis').'.'.$filesext;
imagejpeg($newjpgimg , 'uploads_img'.$filerename, 100);
if ($filesext == 'png')
{
$pngimg = getimagesize($_FILES['uploadFile']['tmp_name']);
if($pngimg['mime'] == $mimeext[$filesext] || $pngimg['mime'] == $mimeextie[$filesext])
{
}
else
{
echo 'Le type MIME de l\'image n\'est pas bon';
}
$pngimg = imagecreatefrompng($_FILES['uploadFile']['tmp_name']);
$tpngimg = getimagesize($_FILES['uploadFile']['tmp_name']);
$newlarg = 350;
$newhaut = ( ($tpngimg[1] * (($newlarg)/$tpngimg[0])) );
$newpngimg = imagecreatetruecolor($newlarg , $newhaut) or die ("Erreur");
imagecopyresampled($newpngimg , $pngimg , 0,0, 0,0, $newlarg, $newhaut, $tpngimg[0],$tpngimg[1]);
imagedestroy($pngimg);
$filerename = 'fichier_du_'.date('YmdHis').'.'.$filesext;
imagepng($newpngimg, 'uploads_img'.$filerename,0 );
}
else
{
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
}
}
else
{
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
}
}
else
{
echo 'L\'extension choisie pour l\'image est incorrecte';
}
}
else
{
echo 'L\'image est trop lourde';
}
}
else
{
echo 'Erreur lors de l\'upload image';
}
}
else
{
echo 'Prêt!';
}
$destpath = '/uploads_img';
?>
|

Admin
|
Bonjour,
Quelle version de php utilise tu?
Essaye en remplaçant:
imagepng($newpngimg, 'uploads_img'.$filerename, 0);
par:
imagepng($newpngimg, 'uploads_img'.$filerename);
Cordialement
|

Membre
|
Merci, j'ai trouvé la solution mais maintenant j'ai un autre problème pour rafraîchir ma page sans le recharger
|