网络建站知识

精准传达 • 价值共享

洞悉互联网前沿资讯,探寻网站营销规律

织梦dedecms不能自动提取第一张图片为缩略图

作者:Smileby陌少羽 | 2018-04-19 16:14 |点击:

今天本人在用织梦做网站的时候出现了一个问题  发现织梦dedecms不能自动提取第一张图片为缩略图

百度找了很多方法都不行  

重庆网站建设小编 为大家讲解一下我是怎么解决这个问题的


出现这种原因的可能性 附件的值太大了 织梦不能提取缩略图

解决办法是 
附件设置中将缩略图的宽度跟高度都设为一个较小的值,以确保大部分的图片都会进行缩小

在系统-系统基本参数-附件设置  把图片高和宽设置较小的尺寸即可 默认的宽为240  高180

也可以设置别的

基本就能解决这个问题

如果解决不了 可以参考别的方法:

以下方法是我复制的


 

可能是因为服务器上禁用了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;

 

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

 

基本就可以解决问题了

 

 



如没特殊注明,文章均为狐灵科技原创,转载请注明  https://www.hulingweb.cn/jzzs/191.html
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

网站设计 品牌营销

多一份参考,总有益处

联系狐灵科技,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:023-68168040 / 大客户专线:15523356218