EMLOG 文章缩略图优化
最近发现我的小站访问的有点慢,于是F12看了下速度影响的原因。于是乎发现了一点小问题。
1. 大图过多
2. JS,CSS文件过多
首页文章缩略图是调用文章附件中的第一张原图来生成缩略图的。
这样的话,对于我们这种速度不够的渣渣主机来说是种负担。
然后我发现上网搜了下有没有啥解决方法,发现也有其他的一些模板和教程也是这么获取的。(没办法只能自己动手了)
相关文件:
在Module.php
中的
<?php //Custom: 获取附件第一张图片 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; } ?>
在echo_log.php
中的
<div class="thumb"><a pjax="<?php echo $value['log_title']; ?>" href="<?php echo $value['log_url']; ?>" title="查看文章:<?php echo $value['log_title']; ?>"> <?php $thum_src = getThumbnail($value['logid']); $imgFileArray = TEMPLATE_URL.'images/random/tb'.rand(1,40).'.jpg'; if(!empty($thum_src)){ ?> <img src="<?php echo $thum_src; ?>" alt="<?php echo $value['log_title']; ?>" title="查看文章:<?php echo $value['log_title'] ?>" /> <?php }else{ ?> <img src="<?php echo $imgFileArray; ?>" alt="<?php echo $value['log_title']; ?>" title="查看文章:<?php echo $value['log_title'] ?>" />我们从
echo_log.php
中发现,如果没有文章附件图片则调用随机图片,然而这里的附件图片函数没有定义只有调用。
那只有从module.php
中下手了。
其中我们看到最终要的一条数据查询语句,检索 xx_attachment 表中 对应日志ID的第一张图片 这里用到了三个模糊查询。查找了所有附件中的图片,并使用第一个。
在数据库中我们可以看到
所有附件图片上传后都会生成一个前缀为thum-的缩略图,这个图片比原图要小的多。所以我们只要查询这张图片就行了。
方法:修改module.php
中
$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";为
$sql = "SELECT * FROM ".DB_PREFIX."attachment WHERE blogid=".$blogid." AND (`filepath` LIKE '%thum%') ORDER BY `aid` ASC LIMIT 0,1";
然后来看看究竟有没有成功吧。
发现我们引用的图片已经成功变成了附件缩略图形式。
哈哈修改完成,下一篇就是压缩CSS和JS了。
CM部落 》原创,转载请保留文章出处。
本文链接:EMLOG 文章缩略图优化 https://www.itkz.cn/note/thum-opt.html
版权声明:若无特殊注明,本文皆为《
正文到此结束
CM部落