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

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

361 2022-09-26 03:55:34

收藏
帝国cms报错、远程保存图片无效的原因与解决方案
帝国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的朋友可能有这样的需求:由于信息发生变化,或是数据出了问题,想要...

7 554
帝国CMS点击指定图片放大功能怎么做(jQuery)
帝国CMS点击指定图片放大功能怎么做(jQuery)

对于存在大图的站点而言,不能将图片放大无疑是一种功能上的缺陷。那么,帝国CM...

8 1401
帝国cms灵动标签怎样按字母调用信息?
帝国cms灵动标签怎样按字母调用信息?

帝国cms灵动标签是可以按照字母调用信息的,通过按字母调动,可以在信息分类时...

1 393
帝国cms一级栏目一直显示本栏目暂无新增信息怎么办?
帝国cms一级栏目一直显示本栏目暂无新增信息怎么办?

今天有客户联系鸥哥,说网站一级栏目下有4个子栏目,每个子栏目都是有信息的,但...

1 326
帝国cms封装自定义函数实现用户发布数统计
帝国cms封装自定义函数实现用户发布数统计

在帝国cms会员开发的过程中,我们经常需要展示用户文章发布数统计。如果每次...

1 323
帝国CMS列表页面list.var怎样将年月日时间分开调用?
帝国CMS列表页面list.var怎样将年月日时间分开调用?

很多时候,出于美观或者个性化的需求,我们需要将帝国cms的发布时间切割为年月...

7 920
帝国cms7.5编辑器的换行符br怎样改为p元素?
帝国cms7.5编辑器的换行符br怎样改为p元素?

帝国cms7.5自带的编辑器ckeditor默认换行符是<br>,在实际应用中经常会出现问...

0 361
帝国cms编辑器ckeditor怎样获取最新内容?
帝国cms编辑器ckeditor怎样获取最新内容?

帝国cms编辑器使用的是ckeditor,想要获取最新内容需要点击两下,否则取到的不...

0 345
推荐插件
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

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

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

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

0 851
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 368
帝国cms百度、必应bing、神马推送增强收录三合一插件
帝国cms百度、必应bing、神马推送增强收录三合一插件

因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...

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

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

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

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

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

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

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

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

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