begin process at 2012 05 31 12:52:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problème d'enregistrement d'image au format PNG


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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&eacute;l&eacute;chargement r&eacute;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>&nbsp;</p>  
              
                   <p><input id="uploadFile" name="uploadFile" type="file" />
                       
                   <input  id="uploadSubmit" type="submit" value="t&eacute;l&eacute;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&eacute;l&eacute;chargement r&eacute;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>&nbsp;</p>  
<p><input id="uploadFile" name="uploadFile" type="file" />
<input  id="uploadSubmit" type="submit" value="t&eacute;l&eacute;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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales