下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms报错、远程保存图片无效的原因与解决方案

391 2022-09-26 03:55:34

收藏
帝国cms远程保存图片是一个非常重要的功能,但一些站长在使用中可能会发现这个功能突然无效了,这是什么原因,要如何处理呢?
 

帝国cms远程保存图片无效的原因

图片格式和大小设置问题

如果帝国cms上传文件没有添加png上传模式,而图片又刚好是png,则上传就会出问题。解决方案也很简单,到系统设置-系统参数设置-文件设置-后台上传文件扩展名里添加png即可,注意分隔符也要。
 

图片是https的

帝国目前暂不支持远程保存https图片,如果需要,则要进行以下调整。

打开文件
/e/class/connect.php

1、在connect.php文件最上面,添加以下函数
function getHTTPS($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}


2、搜索function ReadFiletext,找到以下函数:
function ReadFiletext($filepath){
    $filepath=trim($filepath);
    $htmlfp=@fopen($filepath,"r");
    //远程
    if(strstr($filepath,"://"))
    {
    while($data=@fread($htmlfp,500000))
    {
    $string.=$data;
    }
    }
    //本地
    else
    {
    $string=@fread($htmlfp,@filesize($filepath));
    }
    @fclose($htmlfp);
    return $string;
}

替换成:
function ReadFiletext($filepath){
    $filepath=trim($filepath);
    $htmlfp=@fopen($filepath,"r");
    //远程
    if(strstr($filepath,"https://")){
    return getHTTPS($filepath);
    }
    if(strstr($filepath,"://"))
    {
    while($data=@fread($htmlfp,500000))
    {
    $string.=$data;
    }
    }
    //本地
    else
    {
    $string=@fread($htmlfp,@filesize($filepath));
    }
    @fclose($htmlfp);
    return $string;
}

 

其他可能的原因

服务器配置问题

需要在php.in中把allow_url_fopen设置为on
 

入库超时导致502错误

一般情况下不会出现这个问题,如果出现了,可以尝试将php等待时间改长一点,而后重启php服务。
 

被复制的源站不支持跨域、被引用

如果被复制的源站不支持图片被站外引用,也可能导致图片无法被存储到本地。如果排查确认后是这个原因,则只能更换源站进行信息复制。

通过以上原因的排查与处理,基本可以解决远程保存图片失败的问题。

本文地址:https://xzo.com.cn/develop/empire/1111.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国CMS怎样让一条信息具有多个模板?
帝国CMS怎样让一条信息具有多个模板?

帝国CMS的信息是绑定内容模板的,通过本教程可以实现在前台自由使用不同的模...

17 656
帝国CMS7.5默认伪静态规则大全(.htacces+nginx+web.config)
帝国CMS7.5默认伪静态规则大全(.htacces+nginx+web.config)

帝国CMS7.5默认伪静态规则大全(.htacces+nginx+web.config)提供了多种服务器...

1 556
帝国cms制作信息反馈表的方法
帝国cms制作信息反馈表的方法

帝国cms自带的信息反馈功能,不仅可以实现留言功能,还可以实现像在线报名、反...

1 595
帝国cms公共模板变量temp.header/temp.footer怎样在php代码中直接调用?
帝国cms公共模板变量temp.header/temp.footer怎样在php代码中直接调用?

在帝国cms二次开发过程中,我们经常需要调用模板的公共部位,也就是帝国cms的公...

0 610
怎样实现帝国CMS验证码无刷新显示?
怎样实现帝国CMS验证码无刷新显示?

这个蜘蛛爬虫、恶意广告横行的年代,任何涉及到信息反馈的页面不加入验证码就...

1 495
帝国cms把自己ip禁止访问了怎么办?
帝国cms把自己ip禁止访问了怎么办?

帝国cms有禁止ip访问的功能,但如果不小心禁止了自己的ip,或是操作失误导致所...

0 734
帝国cms网站怎样判断是动态、静态还是伪静态?
帝国cms网站怎样判断是动态、静态还是伪静态?

对于资深一点的站长或者SEO来说,一定会经常听到动态、静态、伪静态这类的词...

0 640
帝国cms提取正文里的3张图片做缩略图
帝国cms提取正文里的3张图片做缩略图

帝国cms怎样提取正文里的3张图片做缩略图呢?...

0 698
推荐插件
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 858
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 487
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 451
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1148
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 953
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

0 1059
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 474
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 424
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入