OVH Cloud OVH Cloud

generation de miniatures echantillonnees non stockees

2 réponses
Avatar
vince
Bonjour bonjour,

Les photos de ma galerie étant trop petites, j'ai décider d'augmenter les
dimensions.
Une popup ouvrira la photo en grand format en cliquant sur miniature dans la
galerie.
Ne voulant pas stocker 2 formats, ni que les miniatures de ma galerie pèsent
le poids des grands formats en faisant un simple redimensionnement,
j'utilise donc imagecopyresampled. Voici l'état d'avancement de mon script :

$lien_src = "../img/photographes/nomprenom/dossier/$ref_photo.jpg";
$lien_mini =
"../img/photographes/nomprenom/dossier/miniatuer/$ref_photo.jpg";
$dst_img = imagecreatetruecolor(100,150);
$src_img = imagecreatefromjpeg($lien_src);
imagecopyresampled($dst_img,$src_img,0,0,0,0,100,150,$width,$height);
imagejpeg($dst_img, $lien_mini);
ImageDestroy($dst_img);
ImageDestroy($src_img);

Les miniatures sont créées sur le serveur, ce qui est normal avec ce script.
J'ai cru comprendre dans mes recherches qu'il est possible d'utiliser le
cache et de les afficher seulement, grâce au browser.
Mon objectif est-il réalisale ou faut-il impéartivement les stocker?

Si vous avez quelque indice, merci d'avance

Vince

2 réponses

Avatar
vince
Bonsoir bonsoir,

Têtu comme une mule, j'ai finallemet trouvé la solution, le header!

Fichier mini.php:
$image = $_GET['f'];
$lien = "../img/photographes/nomprenom/dossier/$image.jpg";
$src = imagecreatefromjpeg($lien);
$img = imagecreatetruecolor(100,150);
imagecopyresampled($img,$src,0,0,0,0,100,150,300,450);
header ("Content-type: image/jpeg");
imagejpeg ($img);

Fichier galerie.php:
<a
href="javascript:PopUp('popup_photo.php?urlimg='.$lien_photo.'&width='.$wid
th.'&height='.$height.'', 'popup',
''.$width_win.'',''.$height_win.'');">
<img src="mini.php?f='.$ref_photo.'" border=1 width="100" height="150">
</a>

Cette méthode sollicite les capacités du serveur, mais j'ai du mal à
estimer.
Une galerie fait 15 pages de 50 photos et qu'en pic je monte à 25 visiteurs
simultanés.
Il me semble qu'un serveur supporte allègrement cette charge.
Me trompe-je?

Vince
Avatar
Marc

Il me semble qu'un serveur supporte allègrement cette charge.
Me trompe-je?


il faut gerer un cache de vignettes.