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

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

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

帝国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内容页个性化用灵动标签sql调用上一篇和下一篇

帝国cms内容页个性化用灵动标签sql调用上一篇和下一篇

帝国CMS文章内容页的上一篇和下一篇太单调,用灵动标签sql调用获取每个字段,这样可以按照自己网站的模板来实现了。  一: 动态调用上一篇下一篇链接 <a href="[!--news.url--]e/public/GotoNext?classid=[!--classid--]&id...

帝国CMS记录信息发布者IP

帝国CMS记录信息发布者IP

帝国CMS记录信息发布者IP的实现,其实增加字段就可以实现. 增加“infoip”字段,infoip为记录IP的字段,只需将字段设置为录入项或投稿项,增加信息时自动存储发布者IP,字段类型用VARCHAR、长度15。是不是有点简单了呢。...

帝国CMS做单页自定义页面怎么调用

帝国CMS做单页自定义页面怎么调用

做帝国cms模板网时候,经常需要使用到自定义页面,例如我们做单页(比如“公司介绍”、“联系我们”,联系我们等页面)时一般采用自定义页面的方式来做,那么帝国CMS自定义页面怎么调用呢? 调用出自定义页面导航可以用标签SQL调用。如下: 例子1:调用自定义页面分类ID=1的页面导航 [e:loop={...

帝国cms字段处理函数是怎么处理

帝国cms字段处理函数是怎么处理

帝国cms字段处理函数的方法! 增加/修改字段时可以设置“后台增加信息处理函数”、“后台修改信息处理函数”、“前台增加信息处理函数”、“前台修改信息处理函数”,可以分别设置对字段内容处理的函数,对于对字段内容存放格式有特殊要求的模型用得比较多。下面简单讲解下处理函数制作格式。   基本设置步骤:  ...

帝国CMS发布文章替换正文图片标签里ALT内容

帝国CMS发布文章替换正文图片标签里ALT内容

帝国CMS发布信息文章时替换正文IMG图片标签里的ALT内容 有利于网站的SEO优化。 在 e/class/userfun.php 里面增加 //替换正文IMG里的ALT内容 function user_imgalt($mid,$f,$isadd,$isq,$value,$cs){ $title=...

帝国CMS列表页判断是否有标题图片没有则显示指定的图片

帝国CMS列表页判断是否有标题图片没有则显示指定的图片

帝国CMS列表页模板里面怎么判断文章是否有标题图片,如果没有图片就调用显示默认或者指定的一张图片!   第一种方法、用php判断:   ①、复制以下代码带到“列表内容模板” if(empty($r[titlepic])) { $pic=''; } else { $pic='<img src=...