首页 网站建设正文

织梦dedecms5.7不能自动提取第一张图片为缩略图怎么办

piaodoo 网站建设 2020-05-06 21:30:15 1392 0 织梦教程

织梦dedecms5.7不能自动提取第一张图片为缩略图怎么办

织梦dedecms5.7不能自动提取第一张图片为缩略图怎么办 ?

网上好像很多人都有这样的问题,刚刚开始可以,后来就不行了 。

 

百度了好几页,

各种改法,各种尝试,后来其实只要改一句代码就可以了。

可能是因为服务器上禁用了fsockopen() 函数造成的,在用fsockopen()的地方用 stream_socket_client()代替就可以了。

具体修改地方是 /include/dedehttpdown.class.php 第507行

$this->m_fp = @fsockopen($this->m_host, $this->m_port, $errno, $errstr,10);

替换为

$this->m_fp = @stream_socket_client($this->m_host . ‘:’ . $this->m_port, $errno, $errstr,10);

 

后来发现可能还有点问题

如果大家做了上面的操作还不行 可以参考下面

 

在dede/inc/inc_archives_functions.php的第505行

if($GLOBALS[‘cfg_ddimg_full’]==‘Y’) @ImageResizeNew($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);

else @ImageResize($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);

 

 

if(!is_file($cfg_basedir.$litpic)) $litpic = ”;

 

这里调用了@ImageResize函数对图片进行缩小,并将缩小的图片另存为$litpic。但实际上ImageResize函数会再对图片缩小 的尺寸进行判断,如果原图已经小于目标尺寸,则不进行缩放直接返回。导致并未进行另存为$litpic的操作。如此一来$litpic的文件并未生成,根 据上述代码的最后一行,自然就返回空值。

因此,解决办法有二:

一是在系统基本参数-附件设置中将缩略图的宽度跟高度都设为一个较小的值,以确保大部分的图片都会进行缩小。

二是把上述最后一行改为

 

 

 

if(!is_file($cfg_basedir.$litpic)) $litpic = $oldpic;

 

意思就是如果不存在缩略图文件,则返回原图作为缩略图。

 

基本就可以解决问题了。


 

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/9780.html

搜索