小李SEO博客

网站优化服务

帝国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网站后台TAG管理清理多余tags信息作用 下一篇:帝国批量增加播放地址设置权限和点数插件教程
相关帝国cms文章阅读
  • 帝国CMS图集PHP调用代码及调用图集第一张图片的方法

    帝国CMS图集默认调用标签的输出格式很难自定义。 但可以使用PHP来自定义调用图集,一流资源网以前发布过一篇 调用图片集的教程 今天这个主要分享如何调用图片集中的第一张图片: 图片集...

  • 帝国cms检测会员名和邮箱注册插件教程

    小李网络公司介绍帝国cms检测会员名和邮箱注册插件教程知识,包括帝国cms同步生成插件 下载帝国cms同步刷新插件网易邮箱插件下载一个插件就可以登录邮箱网易邮箱插件无法安装邮箱通知插件...

  • 帝国cms批量增加下载地址设置权限点数插件

    小李网络公司介绍帝国cms批量增加下载地址设置权限点数插件知识,包括帝国CMS批量增加栏目下载|帝国cms7.2批量添加栏目插件,app下载fulao2最新下载地址怎么打开权限权限fulao2官方下载怎么设置权...

  • 帝国CMS为什么页面不统计点击数呢?

    11、为什么页面不统计点击数呢? 要统计页面访问率,需在内容模板底部加上!---page.stats--]变量 用户在模板那边选择是否增加此变量(如下载系统中一般不统计访问量,不加此变量就不会统计了...

  • 帝国CMS会员注册时加入问答验证-经常更换,防注册机

    注意:以下修改方法适用于:帝国CMS7.0以下版本(不包括7.0),帝国CMS(7.0/7.2/7.5)版本请查看:https://www.moyublog.com/notes/945.html 修改文件:/e/enews/index.php //注册 elseif($enews==register) { if($_POST[as...

  • 帝国CMS登陆表单制作示例教程

    帝国CMS内置强大的搜索功能,用户只需制作搜索表单指向搜索处理页面即可实现相应搜索。本文讲解:搜索表单制作语法。 搜索表单的变量说明 变量名 说明 例子 搜索表单提交地址 POST方式:...

  • 帝国CMS程序扩展变量说明/当前栏目ID

    9、帝国CMS程序扩展变量说明 程序扩展变量说明:通过这些变量可实现各种更复杂的系统. 1、列表/封面模板变量说明: 当前栏目id:$GLOBALS[navclassid] 通过这个变量可以输出这个栏目id的所有数...

  • 帝国CMS系统收不到邮件的解决办法

    感谢帝国论坛会员chenbo789提供方法,墨鱼未测,请小伙伴们看看是否能够解决!并在下发评论留言,感谢!上一篇墨鱼提供的方法连接如下: https://www.moyublog.com/notes/299.html 帝国系统收不到邮件...

  • 帝国CMS标签TAG列表分页数量调整方法

    用编辑器打开:/e/tags/index.php 找到:$page_line= 后面的数字就是分页个数!...

  • 帝国CMS灵动标签中用if判断第X条附加特殊样式

    用灵动标签调用文章的时候,如果没有特殊设置,每条文章的显示样式是一样的。有些人会追求多彩的外观,比如设置第三和第六条为红色或者加下划线等等,那么要怎么实现呢? 比如调用...

  • 帝国CMS灵动标签调用当前栏目缩略图

    通过本教程实现帝国CMS栏目页使用灵动标签调用当前栏目 缩略图 [e:loop={select classimg from phome_enewsclass where classid='$GLOBALS[navclassid]',1,24,0}]img src=?=$bqr[classimg]? alt=!---class.name--] width=950 height=300 [/e...

  • 帝国CMS记录发布者IP

    增加infoip字段,infoip为记录IP的字段,只需将字段设置为录入项或投稿项,增加信息时自动存储发布者IP,字段类型用VARCHAR、长度15。...

SEO公司排名
 
QQ在线咨询
SEM竞价推广
137-1296-7640
SEO优化外包
137-1296-7640