最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 正文概述
  • 评价建议
  • 插件介绍

    1、帝国cms附件在后台和前台用户的所有操作中可以与阿里云oss同步上传;

    2、支持火车头发布时自动上传到阿里云OSS;

    环境要求

    php版本5.3以上,且安装了Curl 扩展

    安装步骤

    1.上传liuge_aliyunoss.zip到e目录,然后解压

    2.浏览器访问HTTP://www.xxx.com/e/liuge/aliyunoss/install安装

    3.安装完后在插件设置里配置好对应的参数

    accessKeyId和accessKeySecret在 https://ak-console.aliyun.com/?spm=5176.8465980.quick-entry-bucket.d2.43d99720yWGk0Z#/accesskey 里面新建

    endpoint在 https://oss.console.aliyun.com/overview 查看

    bucket 自己新建一个即可

    配置步骤

    1.打开 e/class/connect.php
    找到

    if(!defined('EmpireCMSConfig'))
    {
    exit();
    }

    在下面增加

    //阿里云上传
    require_once(ECMS_PATH.'e/liuge/aliyunoss/autoload.php');
    use OSS\OssClient;
    use OSS\Core\OssException;
    function aliup($filename,$img){
      global $accessKeyId,$accessKeySecret,$endpoint,$bucket;
      $object = $filename;
      $content = $img;
      $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
      $content = $ossClient->putObject($bucket, $object, $content);
      return "";
    }
    //阿里云上传结束

    继续找到

    function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){

    global $public_r,$class_r,$doetran,$efileftp_fr;

    替换为

    global $public_r,$class_r,$doetran,$efileftp_fr,$ossoff,$endpoint,$bucket,$alihttp;

    继续在下面找到

    //FileServer
    if($public_r['openfileserver'])
    {
    $efileftp_fr[]=$r['yname'];
    }
    return $r;

    在上面增加

    //开始存储到阿里云oss
    if($ossoff==1){
    $uri = $r["url"];
        if (file_exists($_SERVER["DOCUMENT_ROOT"].$uri)) {
            $string=ReadFiletext($_SERVER["DOCUMENT_ROOT"].$uri);
            $alfile=$fspath['filepath'].$filepath.$r[filename];
            aliup($alfile,$string);
            if($alihttp){
              $r[url]=$alihttp.$r[url];
            } else {
              $r[url]="http://".$bucket.".".$endpoint.$r[url];
            }
       }
    }

    然后继续查找

    //远程保存
    function DoTranUrl($url,$classid){

    把下面一行的

    global $public_r,$class_r,$ecms_config,$efileftp_fr;

    替换为

    global $public_r,$class_r,$ecms_config,$efileftp_fr,$ossoff,$endpoint,$bucket,$alihttp;

    继续找到

    $r[yname]=$r[savepath].$r[filename];

    在下面增加

    if($ossoff==1){
    	$alfile=$fspath['filepath'].$filepath.$r[filename];
    	aliup($alfile,$string);
    	if($alihttp){
    	  $r[url]=$alihttp.$r[url];
    	} else {
    	  $r[url]="http://".$bucket.".".$endpoint.$r[url];
    	}
    }

    然后找到

    WriteFiletext_n($r[yname],$string);

    修改为

    if($ossoff==0){WriteFiletext_n($r[yname],$string)};

    2.打开/e/admin/ecmseditor/fileinc/editorpic.php
    找到

    if(!defined('InEmpireCMS'))
    {
    exit();
    }

    在下面加

    require_once(ECMS_PATH.'e/liuge/aliyunoss/config.php');

    继续找到

    $file=$fspath['fileurl'].$filepath.$r[filename];

    修改为

    if($ossoff==1){
    	if($alihttp){
    	  $file=$alihttp.$fspath['fileurl'].$filepath.$r[filename];
    	} else {
    	  $file="http://".$bucket.".".$endpoint.$fspath['fileurl'].$filepath.$r[filename];
    	}
    }else{
    	$file=$fspath['fileurl'].$filepath.$r[filename];
    }

    3.继续打开 e/class/functions.php
    在<?下面加

    require_once(ECMS_PATH.'e/liuge/aliyunoss/config.php');

    找到

    function GetFpicToTpic($classid,$id,$num=1,$getfirsttitlespic=0,$swidth=0,$sheight=0,$fstb=1){

    把下面的

    global $empire,$dbtbpre,$public_r,$class_r,$loginin,$logininid;

    修改为

    global $empire,$dbtbpre,$public_r,$class_r,$loginin,$logininid,$ossoff,$endpoint,$bucket,$alihttp;

    继续找到

    return $firsttitlepic;

    在上面加

    if($ossoff==1){
    	if($alihttp){
    	  $r[url]=$alihttp.$firsttitlepic;
    	} else {
    	  $r[url]="http://".$bucket.".".$endpoint.$firsttitlepic;
    	}
    }

    4.新增 如果是帝国cms7.5 安装了多图上传功能 再按下面的进行修改
    打开  /e/admin/ecmseditor/tranmore/tranmorefun.php
    找到

    global $empire,$dbtbpre,$public_r,$ecms_config;

    替换为

    global $empire,$dbtbpre,$public_r,$ecms_config,$ossoff,$endpoint,$bucket,$alihttp;

    继续找到

    $tranmore_picr[$i]['picname']=stripSlashes($fileno);

    在下面加

    if($ossoff==1){
    if($alihttp){
          $tranmore_picr[$i]['bigpicurl']=$alihttp.$tranmore_picr[$i]['bigpicurl'];
          if($tranmore_picr[$i]['smallpicurl']){
            $tranmore_picr[$i]['smallpicurl']=$alihttp.$tranmore_picr[$i]['smallpicurl'];
          }
        } else {
          $tranmore_picr[$i]['bigpicurl']="http://".$bucket.".".$endpoint.$tranmore_picr[$i]['bigpicurl'];
          if($tranmore_picr[$i]['smallpicurl']){
            $tranmore_picr[$i]['smallpicurl']="http://".$bucket.".".$endpoint.$tranmore_picr[$i]['smallpicurl'];
          }
        }
    }

    按照以上的步骤修改完成后就可以用了

    插件截图

    帝国cms7.2~7.5阿里云OSS远程附件插件


    网站无忧 » 帝国cms7.2~7.5阿里云OSS远程附件插件

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    升级SVIP尊享更多特权立即升级