dede不能下载远程图片及如何实现图片本地化的方法

Posted 3A网络李中泽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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不能下载远程图片及如何实现图片本地化的方法的主要内容,如果未能解决你的问题,请参考以下文章

ckeditor编辑器如何做复制图片上传(包括本地图片及远程图片),以插件方式实现

php最强下载远程图片到本地代码

Ecshop商品描述远程图片本地化,我要从另外一个网站复制产品说明带图片,想直接下载到本地服务器

下载远程(第三方服务器)文件图片,保存到本地(服务器)的方法保存抓取远程文件图片

使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

php 保存编辑器内容中的远程图片为本地图片