Accueil > Forum > > > > Problème d'enregistrement d'image au format PNG
Problème d'enregistrement d'image au format PNG
mardi 6 décembre 2011 à 13:04:06 |
Problème d'enregistrement d'image au format PNG

blackshadows
|
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:
Code Javascript : <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:
Code 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:
Code 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/';
?>
|
|
mardi 6 décembre 2011 à 15:45:27 |
Re : Problème d'enregistrement d'image au format PNG

cod57
|
Réponse acceptée !
bonjour
ton code est mal organisé
Code PHP :
<?php
$errors=null;
/*les tests*/
if(isset($_FILES['uploadFile'])){
$filename = $_FILES['uploadFile']['name'];
$path = pathinfo($filename);
echo $filesext = $path['extension'];
$filesext = strtolower($filesext);
$extensions_autorisees = array('jpg','jpeg','pjpg','pjpeg','jpg','png','gif','tiff');
$destpath = './uploads_img/';
if ($_FILES['uploadFile']['error'] <= 0){
}else{
$errors.='Erreur lors de l\'upload image';
exit($errors);
}
if ($_FILES['uploadFile']['size'] <= 2097152){
}else{
$errors.='L\'image est trop lourde';
exit($errors);
}
if(in_array($filesext,$extensions_autorisees)){
}else{
$errors.='Le type MIME de l\'image n\'est pas bon';
exit($errors);
}
$img = @getimagesize($_FILES['uploadFile']['tmp_name']);
if($filesext==='jpg' && ($img['mime']==='image/jpg' || $img['mime']==='image/jpeg' || $img['mime']==='image/pjpeg')){
$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 ,$destpath.$filerename,100);
}
elseif($filesext==='png' && ($img['mime']==='image/png' || $img['mime']==='image/x-png')){
$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, $destpath.$filerename,0);
}
elseif($filesext==='gif' && ($img['mime']==='image/gif')){
$pngimg = imagecreatefromgif($_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, $destpath.$filerename,0);
}
else{
}
}else{
}
?>
<html>
<head>
<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=\"./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>
</head>
<body onunload="uploadInit();">
<form id="uploadForm" enctype="multipart/form-data" action="" 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="#" border="no" width="auto"></iframe>
</form>
<body>
<html>
 Bonne programmation !
|
|
Cette discussion est classée dans : image, png, else, filesext, newlarg
Répondre à ce message
Sujets en rapport avec ce message
Image PNG transparente avec IE6 [ par Kenaghdar ]
Hello,J'utilise des PNG avec une couleur de fond transparente. Mais IE6 a vraiment du mal pour les afficher. Après quelques recherches, je suis tombé
transparence sur gif ou png [ par kikistef ]
Je recherche le moyen de creer un nouveau fichier image (gif ou png) à partir d'un gif ou png en utilisant la palette d'une autre image. Ca marche mai
Impression d'une image générée dynamiquement [ par vincentstryckmans ]
Salut, Je génère dynamiquement une image que je nomme 'png_'.$_SESSION['session_id'].'.png'Voici le script que j'appelle dans une balise html pour af
Header PNG louche? [ par MAsterC ]
Salut à tous!dans mon index en tête j'ai mis ceci comme Header:header ("Content-type: image/png");Biensur apres.. avec ce code nous serons
PDF to IMAGE (jpg ou png) [ par _benjy ]
Salut à tousJ'ai une p'tite question, je cherche un class ou un p'tite fonction permettant de générer une image (jpg, png, voir mm gif) a partir d'un
Problème de chargement d'image dans un tableau [ par cascad ]
j'ai un problème avec ce bout de code, header ("Content-type: image/png"); $source[0][0] = imagecreatefrompng("herbe.PNG"); $source[0][1] = imagecrea
Besoin d'un script très simple pour afficher une image (ou un diaporama) et pas de fichier HTML en sortie [ par bisou580 ]
Bonjour,Je suis très débutant en php parceque je ne sais rien, à part mettre un commentaire. :)Voila mon problème :Je cherche à faire un script qui fa
Configuration résolution d'une image png généré par gd [ par Bestgamer ]
Bonjour,Je suis présentement en train de travailler sur un système pour faire des étiquettes de produits en PHP.Je sélectionne des produits désirés et
Image [ par bm67 ]
Programme; $image=imagecreate(80,80<FONT color=#0080
[GD] Transparence miniature PNG [ par Finality ]
Bonjour, je voudrais créer une miniature d'une image en PNG. J'y arrives très bien mais ma miniature n'est plus transparente : un gorrible fond noir f
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|