您现在的位置是:首页 > 教程 > 帝国CMS教程帝国CMS教程
帝国CMS生成缩略图函数sys_ResizeImg效率慢怎么办
震滕2023-01-17 11:55:21帝国CMS教程已有人查阅
导读小伙伴们再帝国CMS模板开发中会面对不同位置调用不同尺寸缩略图的问题,这个时候我们一般会用帝国CMS的sys_ResizeImg自动生成缩略图函数。
小伙伴们再帝国CMS模板开发中会面对不同位置调用不同尺寸缩略图的问题,这个时候我们一般会用帝国CMS的sys_ResizeImg自动生成缩略图函数。但是如果站内存在大量需要处理的缩略图的时候,我们会发现是非常慢的,于是小编对此缩略图进行了一些分析研究和改进。
首先要改进的是判断缩略图是否已经存在,如果存在就不再执行生成缩略图操作。具体函数过程文件/e/class/t_functions.php 函数命名sys_ResizeImg
原始判断缩略图是否生成过存在的方法为PHP的file_exists函数,此函数相比专门的文件判断存在is_file函数在效率上要慢很多。
查找:
if(empty($target_filename)&&file_exists($newname.$filetype))
替换成:
if(empty($target_filename)&&is_file($newname.$filetype))
其次是有的小伙伴GD.PHP函数库换过非官方的处理方法,可能面临着PNG图片缩略图生成后为JPG格式,那么上面的那句代码就无法判断这个缩略图已经生成存在了,所以每次更新页面都会重复生成,效率会非常低。那么我们就要把上面那种改法就不适用了,我们这里采用多次判断方法来判断是否真的存在,进而减少PNG重复生成缩略图的问题。
查找:
if(empty($target_filename)&&file_exists($newname.$filetype)){return $newurl.$newfilename.$filetype;}
替换成:
if(empty($target_filename)&&is_file($newname.'.jpg')){return
$newurl.$newfilename.'.jpg';}if(empty($target_filename)&&is_file($newname.'.png')){return
$newurl.$newfilename.'.png';}if(empty($target_filename)&&is_file($newname.'.gif')){return
$newurl.$newfilename.'.gif';}
至此,sys_ResizeImg自动生成缩略图函数效率慢的问题能解决80%吧!
本文标签:
很赞哦! ()
相关文章
随机图文
-
帝国CMS百度收录/e/extend/infocomment/commentajax.php?classid=xxxx&id=xxx
首先收录这个并不重要,他是AJAX提交评论入口链接,对整体优化没有干扰。所以不想麻烦的可以不看下面的步骤。 -
帝国cmshttps出现Mixed Content: The page at评论也不显示怎么办
新上线发现内容页报错,出现Mixed Content: The page at 在https地址中,如果加载了一个http资源,浏览器会认为它是不安全的资源,默认拦截,这会给你带来资源不全的问题。 -
帝国CMS增加栏目的方法
帝国CMS增加栏目步骤(一)、进入增加栏目页面:1、登录后台,单击“栏目”菜单,选择“管理栏目”子菜单,进入管理栏目界面:2、进入管理栏目界面:3、从管理栏目页面点击“增加栏目”按 -
帝国CMS怎么启用错误报告、防垃圾灌水、统计、增加报告分类
一、错误报告启用内容模板加,如果做了分类,请链接地址加个&cid=分类ID。如:&cid=方法1、会员登录才能使用“错误报告”功能,可以设置仅注册会员才可以进行报告
留言与评论 (共有 条评论) |