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