Créer un compte
Connexion

Problème d'enregistrement au format PNG

Pour créer et répondre aux sujets, vous devez être connecté.
Ce sujet est résolu.
Pages: 1
Auteur Message
blackdhadows
06/12/2011 à 12:25:23
blackdhadows
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&eacute;l&eacute;chargement r&eacute;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&eacute;l&eacute;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';

?>



ybouane
09/12/2011 à 03:21:49
ybouane
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 :)

Image
blackdhadows
09/12/2011 à 05:02:06
blackdhadows
Membre
Merci, j'ai trouvé la solution mais maintenant j'ai un autre problème pour rafraîchir ma page sans le recharger

Pages: 1