Maison > Article > développement back-end > Classe de traitement d'image PHP Introduction à l'utilisation des paramètres phpThumb
Plusieurs paramètres de base de phpThumb
Liste quelques paramètres utiles :
src : l'adresse de l'image cible
w : la largeur de l'image de sortie
h : la hauteur de l'image de sortie ( si vous ne le spécifiez pas Sera mis à l'échelle en fonction du paramètre w)
q : Si la sortie est au format JPG, sa qualité de sortie peut être spécifiée
bg : Arrière-plan pendant la sortie (si nécessaire)
sw , sh, sx, sy : sortie partielle, largeur, hauteur, position de départ
f : format de sortie, peut être jpeg, png, gif, ico
sfn : afficher une certaine image dans l'animation gif
fltr [] : filtre, peut Il existe de nombreux effets, notamment la netteté, le flou, la rotation, le filigrane, la bordure, le masquage, le réglage des couleurs, etc.
Pour plus d'effets, veuillez vous référer à la routine officielle :
http:// phpthumb.sourceforge.net/demo/ demo/phpThumb.demo.demo.php
Utilisez phpThumb et .htaccess pour mettre en cache les vignettes
Principe : L'utilisateur visite une URL comme your.com/thumbs/images/image.50 ×50.jpg, et le script génère votre vignette .com/images/image.jpg et l'enregistre sur your.com/thumbs/images/image.50×50.jpg Vous n'avez pas besoin d'ajuster PHP la prochaine fois. visite.
Introduction
Il y a environ un an, je suis tombé sur ce script génial appelé phpThumb, un projet open source pour mettre à l'échelle des images. Bien sûr, vous pouvez utiliser GD2 ou imagemagick(magickwand) pour faire la même chose, mais phpThumb est conçu pour cela. C'est assez simple à utiliser :
376641d44bca1d93fafa9a4327aabbca
Si le nombre de visites est important, il ne pourra pas pour le maintenir, car Apache Il est nécessaire d'ajuster PHP pour analyser le code phpThumb pour chaque demande d'image. Même si phpThumb possède son propre cache, il doit quand même appeler PHP pour décider s'il doit lire ou non à partir du cache.
J'ai vu une fois quelqu'un utiliser mod_rewrite pour rediriger des images inexistantes vers un script capable de générer des vignettes pour résoudre des problèmes de performances :
Vous avez besoin de :
Apache
mod_rewrite
PHP
Ces choses sont généralement disponibles sur les hôtes virtuels. Comment les installer dépasse le cadre de cet article.
OK, dis-moi comment faire !
Téléchargez phpThumb
Téléchargez phpThumb à partir d'ici : http://phpthumb.sourceforge.net/ et téléchargez-le sur votresite.com/phpthumb
Configurez Mod_Rewrite
Créez un nouveau votresite.com/thumbs/.htaccess :
85ac288f8cdf15251785b7af9467eee6
RewriteEngine sur
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index. php?thumb=$1 [L,QSA]
2071f931c9870be1bebed0bdda8305e7
Nouveau script de génération de vignettes :
Nouveau yoursite.com/thumbs/index.php
$thumb = $_GET['thumb']; if (!$thumb) { exit; } // $thumb_array = explode('.',$thumb); $image = '../'; foreach($thumb_array as $k=>$thumb_part){ if ($k != count($thumb_array)-2) { $image .= $thumb_part . '.'; } } $image = substr($image,0,-1); list($width,$height) = explode('x',$thumb_array[count($thumb_array)-2]); // if (file_exists($image)) { require('../phpthumb/phpthumb.class.php'); $phpThumb = new phpThumb(); $phpThumb->setSourceFilename($image); $phpThumb->setParameter('w',$width); $phpThumb->setParameter('h',$height); //$phpThumb->setParameter('far','C'); // scale outside //$phpThumb->setParameter('bg','<SPAN class=caps>FFFFFF</SPAN>'); // scale outside if ($phpThumb->GenerateThumbnail()) { mkdir(dirname($thumb),0777,true); if ($phpThumb->RenderToFile($thumb)) { header('Location: /thumbs/'.$thumb); exit; } } }
Testez-en un temps!
Téléchargez une image sur votresite.com/images/myimage.jpg
Ouvrez votre navigateur et visitez votresite.com/thumbs/images/myimage.100×100.jpg
Vérifiez le répertoire des pouces, il devrait y avoir une vignette là. Il n'est pas nécessaire d'ajuster PHP lors de votre prochaine visite.
Pour plus de cours de traitement d'images PHP et d'articles connexes sur l'utilisation des paramètres phpThumb, veuillez faire attention au site Web PHP chinois !