使用TimThumb自动生成完美缩略图

最近研究了一下缩略图,发现如果直接使用width等标签直接改变图片长宽的话难免会有失真,而用auto的话,就会显得不统一,那么如何生成”完美”的缩略图呢?难道只能手动裁剪再上传?那也太麻烦咯!所以下面我们就请出国外WP常用的缩略图神器:TimThumb

修订版本:1.1 附件: TimThumb.php

说明:TimThumb是一个非常神奇的第三方小文件,它可以任意裁剪图片大小。这一切都不需你手动操作,有了它,你可以为你博客文章缩略图进行定义裁剪,不用加载原本的大而笨重的高清图片,只需要加载裁剪后的缩略图,好处最大就在于减少页面加载时间咯!

废话不多说,赶紧看看怎样使用!

首先,想要使用timthumb,需要先确认主机是否支持GD库(一般主机都支持)下载TimThumb.php并将其上传到你的空间,然后在和timthumb.php同一个目录下,创建一个cache文件夹,如果你是linux主机,需要为cache文件夹提供写权限,我设置的权限为777

下面的在需要使用的地方贴上下面的代码就可以了

<img src="<?php echo BLOG_URL; ?>timthumb.php?src=图片地址&h=定义高度&w=定义宽度&zc=1"/>

那么,如何使用php函数来获取图片地址呢?下面我就来介绍

 

下获取第一张图片地址

将下列代码添加至主题module.php文件中

<?php //获取附件第一张图片 function getThumbnail($blogid){ $db = MySql::getInstance(); $sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (`filepath` LIKE ’%jpg’ OR `filepath` LIKE ’%gif’ OR `filepath` LIKE ’%png’) ORDER BY `aid` ASC LIMIT 0,1"; //die($sql); $imgs = $db->query($sql); $img_path = ""; while($row = $db->fetch_array($imgs)){ $img_path .= BLOG_URL.substr($row[’filepath’],3,strlen($row[’filepath’]));
    } return $img_path;
} ?>

然后将下列代码添加至主题log_list.php文件中

找到

<?php if (!empty($logs)):foreach($logs as $value):?>

修改成

<?php if (!empty($logs)):foreach($logs as $value): $thum_src = getThumbnail($value[’logid’]);?>

完美的输出应为:

<img src="<?php echo BLOG_URL; ?>timthumb.php?src=<?php echo $thum_src; ?>&h=105&w=194&zc=1"/>

您可以选择一种方式赞助本站

目前评论:31   其中:访客  23   博主  8

  1. 2010年10月01日 17:56  29楼
  2. 2010年10月01日 14:18  30楼
  3. 2010年10月01日 16:52  31楼
评论加载中...

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: