Dawa www.shootmeagain.com | Bonjour à tous !
J'ai sur mon site environ 1000 dossiers contenant chacun une dizaine d'images. Ces images ont pour l'instant une taille de max. 800 pixels de côté. J'aimerais que ces images fassent maintenant chacune 640 pixels de côté. J'ai un script qui redimensionne toute image uploadée, de ce côté je n'ai pas de soucis mais je rame un peu au niveau de l'ouverture et de l'écriture de fichiers. Comment dois-je procéder ? Je préfère éviter le système de lecture dans chaque dossier, un peu barbare car toutes les photos ne devraient pas être modifiées. Dans ma BD j'ai tout ce qu'il faut pour retrouver un chemin d'accès pour telle ou telle photo, et ce que j'aimerais avoir c'est une fonction à laquelle je puisse dire de modifier la photo 6072 par exemple. Voilà où j'en suis :
Code :
- $req=$bd->req_exe("select * from tofs, users, galerie where id=8434 and galerie=idgal and photographe=iduser" );
- $data=$bd->objetsuiv($req);
- $name="ftp://ftp.shootmeagain.com/photo/1051/small/flatcat-0106.jpg";
- $file = fopen($name,'r+');
- $resized=resize($name,$name."2",600,600,"",$data->disclaimer,$data->login);
|
Code :
- <?php
- function resize($file, $tofname, $maxWidth, $maxHeight, $path, $disclaimer, $user=0)
- {
-
- ini_set("memory_limit","32M" );
- ini_set("max_execution_time","300" );
- $prod=$maxWidth*$maxHeight;
- //Créé une image à partir de $file
- $img = ImageCreateFromJpeg($file);
- //Dimensions de l'image
- $imgWidth = imagesx($img);
- $imgHeight = imagesy($img);
- //Facteur largeur/hauteur des dimensions max
- $whFact = $maxWidth/$maxHeight;
- //Facteur largeur/hauteur de l'original
- $imgWhFact = $imgWidth/$imgHeight;
- //fixe les dimensions du thumb
- if($imgWidth <= $maxWidth && $imgHeight <= $maxHeight)
- {
- $thumbWidth=$imgWidth;
- $thumbHeight=$imgHeight;
- }
- else
- {
- if($imgWidth > $imgHeight)
- {
- //Si largeur déterminante
- $thumbWidth = $maxWidth;
- $thumbHeight = $thumbWidth/$imgWhFact;
- if($thumbHeight>$maxHeight)
- {
- $redimfact=$thumbHeight/$maxHeight;
- $thumbHeight=$maxHeight;
- $thumbWidth=$thumbWidth/$redimfact;
- }
- }
- else
- {
- //Si hauteur déterminante
- $thumbHeight = $maxHeight;
- $thumbWidth = $thumbHeight*$imgWhFact;
- if($thumbWidth>$maxWidth)
- {
- $redimfact=$thumbWidth/$maxWidth;
- $thumbWidth=$maxWidth;
- $thumbHeight=$thumbHeight/$redimfact;
- }
- }
- }
- //Créé le thumb (image réduite)
- if($maxWidth==600)
- {
- if($disclaimer==1)
- $thumbHeight2=$thumbHeight+45;
- else
- $thumbHeight2=$thumbHeight+15;
- }
- else
- {
- $thumbHeight2=$thumbHeight;
- }
- $imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight2);
- $white = imagecolorallocate($imgThumb,255,255,255);
- $black = imagecolorallocate($imgThumb,0,0,0);
- imagefill($imgThumb,0,0,$white);
- //Insère l'image de base redimensionnée
- ImageCopyResampled($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
- if($maxWidth==600)
- {
- $postxtx=$thumbWidth-200;
- if($disclaimer==1)
- $postxty=$thumbHeight2-30;
- else
- $postxty=$thumbHeight2;
- $font1="images/GOTHIC.TTF";
- imagettftext($imgThumb, 9, 0, 19, $postxty, $black, $font1,"PHOTO BY ".$user);
- imagettftext($imgThumb, 9, 0, $postxtx, $postxty, $black, $font1,"WWW.SHOOTMEAGAIN.COM" );
- //imagettftext($img, 16, 0, 20, 54, $white, $font1,$bandname2);
- if($disclaimer==1)
- {
- $imgcentre=$thumbWidth/2;
- $postxtx=$imgcentre-95;
- $postxty=$thumbHeight2-15;
- imagettftext($imgThumb,7,0,$postxtx, $postxty, $black, $font1,"Cette photo est protégée par les droits d'auteur." );
- $postxtx=$imgcentre-150;
- $postxty=$thumbHeight2-5;
- imagettftext($imgThumb,7,0,$postxtx, $postxty, $black, $font1,"Il est interdit de la copier ou de la diffuser sans l'accord de son auteur." );
- }
- }
- //Nom du fichier thumb
- //list($titretof,$ext,$temp) = explode(".",$file);
- $imgThumbName = $path.$tofname;
- //Créé le fichier thumb
- // $fp = fopen($imgThumbName, "wb" );
- // fclose($fp);
- // fflush($fp);
- //Renvoie le thumb créé
- ImageJpeg($imgThumb, $imgThumbName,95);
- imagedestroy($imgThumb);
- imagedestroy($img);
- return $imgThumbName;
- }
- ?>
|
Merci de votre aide !
---------------
SHOOT ME AGAIN WEBZINE
|