首页 > 代码库 > dede不能下载远程图片及如何实现图片本地化的方法
dede不能下载远程图片及如何实现图片本地化的方法
有些时候我们想保存图片到本地服务器的时候发现保存不了,比如我们自己拷贝自己的站点到另外一个服务器等等,下面3A网络的小钱就来分享Dedecms无法保存远程图片到本地服务器的解决方法,分享给大家供大家参考。具体分析如下:
一、开启远程图片本地化
在编辑区域上方有个附加选项:下载远程图片和资源,把这个选上即可!也在可以在系统设置里面的其他选项把:远程图片本地化这个项目给选上!
二、检查网站目录
上传图片目录中是否有allimg这个文件夹(当更改了图片上传目录的情况下最容易出现这个问题)
三、可能是因为服务器上禁用了fsockopen() 函数造成的,修改方式
找到 /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);
四、编辑php.ini,找到disable_functions,把其中的fsockopen去掉;
五、dedecms复制别人的文章图片不能本地化解决办法
在用的Dedecms系统网站突然无法下载远程图片和资源,也即所谓的远程图片本地化失效,如果图片不能上传参照:dede图片不能上传这篇文章。
这里由于服务器的 fsockopen函数被禁用,导致了Dedecms系统网站无法下载远程图片和资源,这才是问题所在。解决方法:
fsockopen函数被禁用解决之道:
1.进入系统程序,在include文件夹中找到pub_httpdown.php文件;
2.打开文件,找到$this->m_fp = @ fsockopen($this->m_host, $this->m_port, $errno, $errstr,10);
将fsockopen替换为pfsockopen,保存,然后测试,问题解决。
dede不能下载远程图片及如何实现图片本地化的方法