mercredi 29 août 2007
Comment générer à la volée une vignette (thumbnail) d'un site avec URL2BMP et PHP (avec la librairie graphique GD) ?
Par MaxiMoi200, mercredi 29 août 2007 à 00:23 :: PHP
Voir la description de l'utilitaire url2bmp ici
Dans un fichier creation_vignette.php inclure le code suivant :
<? exec('url2bmp.exe -file vignette.jpg -format jpeg -wx 1000 -wy 750 -bx 1000 -by 750 -notinteractive -url '.$_GET['URL'].' -wait 5 -removesb');
header("Content-type: image/jpeg");
$src_im = ImageCreateFromJpeg('vignette.jpg');
imagejpeg($src_im);
ImageDestroy($src_im);
?>
Placez votre fichier php et url2bmp.exe dans le même fossier sur votre serveur (ne marche que pour un serveur sous windows !). Tapez l'adresse suivante dans votre navigateur : http://domaine.com/votre dossier/creation_vignette.php?url=http://www.maximoi200.com
La première ligne du fichier va interagir avec url2bmp.exe en lignes de commande grâce à la fonction exec(). Comme vu plus haut, URL2BMP va créer le thumbnail de la page http://www.maximoi200.com et le placer dans vignette.jpg
La seconde ligne prévient le navigateur que le contenu qu'il va recevoir depuis le serveur est une image jpeg.
La troisième crée un objet PHP image temporaire à partir de vignette.jpg et la quatrième permet de renvoyer vers le navigateur cette image.
La dernière ligne sert à détruire l'image temporaire
Ceci est un exemple de base et peut servir de à d'autres applications plus complexes et performantes. J'utilise ce principe de base pour l'affichage de vignettes de prévisualisation dans liensmalins