Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous une nouvelle je demande de l'aide  sur le forum car je galère depuis un moment déjà sur le redimension d'une image uploadée. voila la partie du code qui marche me permet :
1 - d'uploadé normalement l'image  et egalement la renommé seul hic j'arrive pas à redimension l'image apres tout ce temps de recherche si une personne peut me guider ca serait volontier .
voici mon code pour l'upload et la tentation de redim dans une action de mon controlleur.
 
  $this->_uploadAdapter   = new Zend_File_Transfer_Adapter_Http();
       $this->_uploadAdapter->setDestination('../public/medias/');
                    $id                 =   $this->_annonce->lastInsertId();
                    $this->_fileInfo    =   $this->_uploadAdapter->getFileInfo();
               foreach ( $this->_fileInfo  as $keys=>$file) {
                        
                        $hash               =   My_Gallery::getHashFile();
                        $fileExtension      =   self::_getFileExtension($file['name']);
                  
                    $fileNameArray           =   $this->_form->photo->getFileName();
                    $fileName                =   $fileNameArray[$keys];
                        $isDirExist = My_Gallery::isDirExist('../public/medias/'.$id);
                               
                        if ($isDirExist) {
                            $uploadPath = '../public/medias/'.$id.'/';
                            $this->_uploadAdapter->addFilter('Rename',array('target'=>$uploadPath.$id.$hash.".".$fileExtension,'overwrite'=>true));
                        } else {
                            $uploadPath = My_Gallery::createStorageFile('../public/medias/', $id);
                            $this->_uploadAdapter->addFilter('Rename',array('target'=>$uploadPath.$id.$hash.".".$fileExtension,'overwrite'=>true));
                        }  
                     
                        //REDIMMENSION IMAGE
                       //   $resize    =   My_Gallery::resizeImage($fileName,$fileExtension , '600', '600');
                      //    var_dump($resize);
                       //   $this->_uploadAdapter->addFilter('Rename',array('target'=>$uploadPath.$id.$hash."_600*600".".".$fileExtension,'overwrite'=>true));
                        if ($this->_uploadAdapter->receive($file['name'])) {
        
                          $resize    =   My_Gallery::resizeImage($fileName,$fileExtension , '150', '150');
                        }
                    }et voici la methode resizeimage de ma classe gallery
 
    public static function resizeImage($source,$extension, $weightMax, $heigthMax) {
        //En fonction de l'extension image
    if($extension =="jpg" || $extension =="jpeg" || $extension =="jfif")
        $imagesrc = imagecreatefromjpeg($source);
    elseif(strtolower($extension) == "png")
        $imagesrc = imagecreatefrompng($source);
    elseif(strtolower($extension) == "gif")
        $imagesrc = imagecreatefromgif($source);
        // Calcul des nouvelles dimensions
        list($largeur, $hauteur) = getimagesize($source); //list est un moyen plus pratique pour ne récupérer que ce qu'on veut
   
        if (!$weightMax) $weightMax = 410;
    if (!$heigthMax) $heigthMax = 300;
        if ($largeur > $weightMax)
    {
        $largeur = $weightMax;
        $hauteur = round($hauteur/$largeur*$weightMax);
    }
    if ($hauteur > $heigthMax)
    {
        $hauteur = $heigthMax;
        $largeur = round($largeur/$hauteur*$heigthMax);
    }
        $imagedest = imagecreatetruecolor($largeur,$hauteur) or die ("Impossible de crée un flux d'image GD");
         imagecopyresampled($imagedest, $imagesrc, 0, 0, 0, 0,$weightMax ,$heigthMax, $largeur, $hauteur);
       switch ($extension) {
         case 'jpg':
         case 'jpeg':
           imagejpeg ($imagedest, $source ,100);
           break;
         case 'png':
           imagepng ($imagedest, $source,0);
           break;
         case 'gif':
           imagegif ($imagedest);
           break;
        }
       // imagedestroy($imagedest);
       return $imagedest;
    }Voila c'est un peu long. mais la je galere un peu trop et je trouve pas le probleme merci d'avance à tous
Dernière modification par yveson33 (23-10-2009 23:21:59)
Hors ligne
Pages: 1