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

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

456 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作为最强大的开源cms之一,其程序效率毫无疑问。但,帝国CMS真的可以做...

19 1432
帝国cms怎样默认显示副标题ftitle,副标题为空时显示标题?
帝国cms怎样默认显示副标题ftitle,副标题为空时显示标题?

在帝国cms的开发应用中,标题作为文章的主体往往需要表意明显才能获得更好的...

1 604
帝国CMS怎样快速入门?
帝国CMS怎样快速入门?

很多做网站的朋友想要自己学习一门CMS,要么是织梦CMS,要么呢是帝国CMS,而我们...

1 453
帝国cms安装报错fatal error:require():Failed opening required ../class/EmpireCMS_version.php(include_path=.
帝国cms安装报错fatal error:require():Failed opening required ../class/EmpireCMS_version.php(include_path=.

帝国CMS安装报错 fatal error:require():Failed opening required ../clas...

1 790
帝国cms后台DoTimeRepage.php一直刷新写满日志了怎么办?
帝国cms后台DoTimeRepage.php一直刷新写满日志了怎么办?

如果平时喜欢挂着帝国cms网站后台不关闭,又留心了网站日志的朋友就会发现DoT...

1 720
帝国cms怎样判断当前页面为首页?
帝国cms怎样判断当前页面为首页?

在帝国cms开发时,我们经常要给栏目配置高亮效果。栏目高亮判断循环的id等于...

0 768
帝国cms显示的发布时间与实际发布时间相差了8小时怎么办?
帝国cms显示的发布时间与实际发布时间相差了8小时怎么办?

有少量客户在使用帝国cms建站时发现一个问题:帝国cms显示的发布时间与真实的...

0 510
帝国cms外部引入百度统计代码防止被刷统计后台广告优化
帝国cms外部引入百度统计代码防止被刷统计后台广告优化

百度统计后台的广告十分猖獗,而百度统计提供的屏蔽规则并不好用,这个时候,我们...

0 578
推荐插件
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 666
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

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

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

0 1042
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 904
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1423
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

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

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

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

0 1264
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

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

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