PHP图片处理类 phpThumb参数用法介绍

高洛峰
发布: 2017-01-12 14:41:12
原创
1938人浏览过

phpthumb几个基本参数 
一些有用的参数列一下: 
src:目标图片的地址 
w:输出图片的宽度 
h:输出图片的高度(如果不指定他将按w参数等比缩放) 
q:输出如果是jpg格式的,可以规定它的输出质量 
bg:输出时的背景(如果需要) 
sw、sh、sx、sy:局部输出,宽高、起始位置 
f:输出格式,可以为jpeg、png、gif、ico 
sfn:输出gif动画中的某一帧 
fltr[]:滤镜,可以有很多效果,包括锐化、模糊、旋翻转、水印、边框、遮照、色彩调整等 
更多效果可以参看官方例程: 
http://phpthumb.sourceforge.net/demo/demo/phpthumb.demo.demo.php 
使用 phpthumb 和 .htaccess 来缓存缩略图 
原理:用户访问 your.com/thumbs/images/image.50×50.jpg 这样的网址,脚本生成 your.com/images/image.jpg 的缩略图,并且保存到 your.com/thumbs/images/image.50×50.jpg,下次访问就不用调 php 啦。 
简介 
大约一年以前我碰到了 phpthumb 这个牛掰的脚本,它是个用来缩放图片的开源项目。当然你可以用 gd2 或者 imagemagick(magickwand) 来干同样的事情,但 phpthumb 是专门干这个的。它用起来相当简单: 
<img src="phpthumb/phpthumb.php?src=myimage.jpg&w=100&h=100"> 
如果访问量很大的话就撑不住了,因为 apache 要为每个图片的请求去调 php 来解析 phpthumb 的代码。尽管 phpthumb 自己有缓存,它还是要调 php 来决定是否从缓存里读。 
我曾经看见有人用 mod_rewrite 把不存在的图片重定向到一个可以生成缩略图的脚本,以此来解决性能问题: 
你需要: 
apache 
mod_rewrite 
php 
这些东西通常虚拟主机都有,至于怎么安装就不在本文的讨论范围之内了。 
ok,快告诉我怎么弄吧! 
上传 phpthumb 
从这里下载 phpthumb: http://phpthumb.sourceforge.net/ ,把它上传到 yoursite.com/phpthumb 
配置 mod_rewrite 
新建 yoursite.com/thumbs/.htaccess : 
<ifmodule mod_rewrite.c> 
rewriteengine on 
rewritecond %{request_filename} !-f 
rewritecond %{request_filename} !-d 
rewriterule ^(.*)$ index.php?thumb=$1 [l,qsa] 
</ifmodule> 
新建缩略图生成脚本: 
新建 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; 
} 
} 
}
登录后复制

测试一下! 
上传一张图片到 yoursite.com/images/myimage.jpg 
打开你的浏览器,访问 yoursite.com/thumbs/images/myimage.100×100.jpg 
检查 thumbs 目录,应该有个缩略图在那。下次访问就不用调 PHP 啦。 

更多PHP图片处理类 phpThumb参数用法介绍相关文章请关注PHP中文网!

图酷AI
图酷AI

下载即用!可以免费使用的AI图像处理工具,致力于为用户提供最先进的AI图像处理技术,让图像编辑变得简单高效。

图酷AI 57
查看详情 图酷AI
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号