当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国cms远程图片本地化不生效原因以及解决方法

3年前 (2022-10-21)帝国CMS18427

帝国cms远程图片本地化不生效原因

1、图片格式和大小设置问题

帝国默认的图片格式不包括png,但是我们现在qq截图等都是png图片格式,加进去即可,假如源站的图片格式帝国后台没有,那肯定保存不了了。

系统参数设置——文件设置——文件扩展名

同时设置可以上传图片大小。


2、服务器配置问题

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


3、入库超时502问题

这个在图片数量特别多的时候可能出现,把php执行时间设置长一点,一般默认60s,改成几分钟即可


4、源站图片链接是https

这个是现在遇到比较多的一个问题,目前7.5版本是不支持采集https图片的,需要增加ssl模块支持

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


第一步:在connect.php文件最上面,<?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;
}

第二步:搜索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;
}

以上就是常见的帝国cms远程图片保存失败的原因。

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://www.blueboss.cn/p/61.shtml

“帝国cms远程图片本地化不生效原因以及解决方法” 的相关文章

帝国cms内容页相关内容根据关键字来调用获取

帝国cms内容页相关内容根据关键字来调用获取

网站文章内容页的相关文章,相关推荐是必不可少的,这些内容可以增加我们网页内容的相关性以及良好的内链结构,是对做SEO优化是很有帮助的。 在使用帝国cms模板建网站的时候,内容页需要调用当前文章的其他相关的文章,根据关键字调用,这样就实现相关性了。 代码示例如下: <?php if ($nav...

帝国cms模板内容页灵动标签调用当前栏目文章排除当前文章

帝国cms模板内容页灵动标签调用当前栏目文章排除当前文章

解决方法:调用当前栏目信息,栏目ID用:'selfinfo',排除当前信息标签附加sql条件参数用:"id<>'$navinfor[id]'" 举例: [e:loop={'selfinfo',10,0,0,"id<>'$navinfor[id]'"}] <a href...

帝国cms内容页文章种添加广告环绕内容显示

帝国cms内容页文章种添加广告环绕内容显示

帝国CMS内容页模板加环饶广告代码方法!一起来看看吧: <div id="ad">[phomead]广告ID[/phomead]</div><style type="text/css"><!--#ad {float: right;}--></s...

帝国CMS多值字段如何调用多值字段最新增加的一行内容

帝国CMS多值字段如何调用多值字段最新增加的一行内容

帝国cms模板里面的多值字段怎么调用呢? 多值字段调用如下: <?php $morefr=explode('||||||',$navinfor[字段名]); $mfcount=count($morefr); for($mfi=0;$mfi<$mfcount;$mfi++) { $mor...

帝国cms电影模型内容页调用播放器类型

帝国cms电影模型内容页调用播放器类型

一、以图片形式显示 1、在/skin/xin/v/中增加几个播放器的图片 ①图片格式自己定,如:增加了ico的格式,在:系统-系统设置-系统参数设置-文件设置-后台上传文件扩展名-添加ico的图片格式 ②图片的命名:以播放器的ID命名(ID参考:后台-其他-下载模型相关-播放器管理-看播放器对应的I...

帝国CMS灵动标签调用指定时间段的信息

帝国CMS灵动标签调用指定时间段的信息

帝国CMS灵动标签怎么调用指定时间段的信息呢? 1、某天发布的文章: [e:loop={'news',10,18,0,'newstime>='.to_time('2010-11-11 00:00:01').' and newstime<='.to_time('2010-11-11 23...