Problème d'enregistrement au format PNG

Fermé
blackshadows-71 Messages postés 2 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 7 décembre 2011 - 6 déc. 2011 à 13:40
blackshadows-71 Messages postés 2 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 7 décembre 2011 - 7 déc. 2011 à 11:07
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>&nbsp;</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/';

?>


JS:
 
<script type="text/javascript">
<!-- 
        window.top.window.uploadEnd("<?php echo $error; ?>", "<?php echo $destpath. $filerename; ?>");
//-->
</script>




A voir également:

1 réponse

blackshadows-71 Messages postés 2 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 7 décembre 2011
7 déc. 2011 à 11:07
Bonjour,
Voici la solution:

<?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')){
    $gifimg = 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;
    imagegif($newpngimg, $destpath.$filerename,0);             
    }
        
    else{
    }
           
}else{
}      	


?>
0