dedecms织梦七牛云存储二次开发

author author     2022-08-21     454

关键词:

DeDeCMS(织梦)整合七牛云储存的优势1、节省自身服务器带宽、流量、储存空间,因为使用七牛云前端JS SDK上传到七牛云。
2、提高网站加载速度,因为大部分的流量由七牛云分发,减少了自身服务器带宽的占用,七牛云的CDN比普通的自建服务器还是要快的。
3、不破坏系统兼容性,可以后台配置储存位置,如果哪天想用回自己服务器储存图片,只需要修改一个网站后台选项即可。
DeDeCMS(织梦)整合七牛云储存思路在编辑文章前,通过网站后台设置图片储存位置(七牛云或者自己服务器),然后获取对应的图片地址。
对DeDeCMS(织梦)所做的修改1、安装七牛云JS-SDK(用于上传)、php-SDK(用于生成uptoken)。
安装过程可以参考七牛云官方文档 地址:http://developer.qiniu.com/resource/official.html#sdk。我们这里采用比较简单的方法,直接拷贝文件至网站目录,下面贴一下相对的目录。

 
1
2
3
4
include/autoload.php  //七牛云php-SDK 7.0  直接下载过来的,下面的src也是。
include/js/plupload.full.min.js //七牛云js-SDK  要用到的plupload
include/js/qiniu.min.js  //七牛云js-SDK 
include/src/Qiniu

2、增加后台配置选项。
我们需要添加一些设置,以方便设置七牛云参数,以及后期一些可能的修改,比如要换回自己服务器储存图片呢。

 

然后我们在管理目录下的config.php中加入七牛云php-SDK的初始化参数,生成uptoken。

01
02
03
04
05
06
07
08
09
10
11
12
13
//七牛云初始化
require_once(DEDEINC.‘/autoload.php‘);  //引入七牛云php-SDK 7
$qiniu_access_key = empty($QINIU_ACCESS_KEY)?‘your_qiniu_access_key‘:$QINIU_ACCESS_KEY; //优先使用管理后台设置的,这里指定一个默认的,放在这里,没有文件管理权限的管理员看不到。
$qiniu_secret_key = empty($QINIU_SECRET_KEY)?‘your_qiniu_secret_key‘:$QINIU_SECRET_KEY;//同上
$qiniu_upload_domain = empty($QINIU_UPLOAD_DOMAIN)?‘http:upload.qiniu.com‘:$QINIU_UPLOAD_DOMAIN;//七牛云上传域名,https需要设置对应的域名,只影响JS-SDK拖拽上传和剪切板上传。
$qiniu_bucket_domain = empty($QINIU_BUCKET_DOMAIN)?‘your_qiniu_bucket_domain‘:$QINIU_BUCKET_DOMAIN;//用来拼凑完整URL。
$qiniu_bucket = empty($QINIU_BUCKET)?your_qiniu_bucket‘:$QINIU_BUCKET;//七牛云php-SDK 7初始化时,需要知道空间名。
 
use QiniuAuth;
$auth = new Auth($qiniu_access_key, $qiniu_secret_key);
use QiniuStorageBucketManager;
$bucketMgr = new BucketManager($auth);//删除七牛云资源时需要用到。
$qiniu_uptoken = $auth->uploadToken($qiniu_bucket);//需要在前端调用编辑器前输出。



3、修改DeDeCMS图片上传处理逻辑和过程。
因为DeDeCMS(织梦)默认是上传到本地服务器,所以我们需要对上传的逻辑和处理过程做一些修改,同时要保证DeDeCMS(织梦)原来的图片上传功能不受到影响。我们需要修改管理目录下的/inc/inc_archives_functions.php文件,需要处理下织梦的图片处理函数,位置比较多,下面贴下代码段。

[PHP] 纯文本查看 复制代码
1
$qiniu_bucket_domain_str =‘#^‘.quotemeta($GLOBALS[‘qiniu_bucket_domain‘]).‘#i‘;

 

[PHP] 纯文本查看 复制代码
1
2
3
4
5
6
if(preg_match("#".$basehost."#i", $value) || !preg_match("#^http://#i", $value)
        || ($cfg_basehost != $basehost && preg_match("#".$cfg_basehost."#i", $value))
        || preg_match($GLOBALS[‘qiniu_bucket_domain_str‘], $value))
        {
                continue;
}

 

 
1
2
3
4
5
6
{
        $picname = preg_replace("/["|‘| ]{1,}/", ‘‘, $img_array[0]);
        if(preg_match("#_lit.#", $picname)) {$litpic = $picname;}
        else if(preg_match($GLOBALS[‘qiniu_bucket_domain_str‘], $picname)){$litpic = $picname;}
        else $litpic = GetDDImage(‘ddfirst‘, $picname,1);
}

 

 
1
2
3
4
if(preg_match($GLOBALS[‘qiniu_bucket_domain_str‘], $picname)){
        $litpic = $picname;
        return $litpic;
}

 

01
02
03
04
05
06
07
08
09
10
11
12
13
14
if($isremote==1 && preg_match("#^http://#i", $handurl) && !preg_match($GLOBALS[‘qiniu_bucket_domain_str‘], $handurl))
{
        $ddinfos = GetRemoteImage($handurl, $cuserLogin->getUserID());
        if(!is_array($ddinfos))
        {
                $litpic = "";
        }
        else
        {
                $filename = $ddinfos[0];
        }
        $isrm_up = TRUE;
 
}


写在最后
上面就是DeDeCMS(织梦)整合七牛云储存的方案了,这个方案的优势在不需要消耗自己服务器的流量、带宽、磁盘空间,直接通过浏览器把图片上传到七牛云服务器。而且支持织梦采用最新的CKditor编辑器,可以拖拽上传和剪切板黏贴上传。并且在使用图片对话框上传的时候支持大于4M的文件上传、断点续传等。另外本人很抱歉,不提供免费的服务,请见谅。希望看了之后有所帮助。

七牛云冯立元:边缘存储的演进之路

...术话题内容。?在前沿应用与创新(解决方案专场)中,七牛云存储研发负责人冯立 查看详情

ueditor上传图片到七牛云存储(formapi,java)

转:http://my.oschina.net/duoduo3369/blog/174655ueditor上传图片到七牛云存储ueditor结合七牛传图片七牛的试炼开发前的准备与注意事项说明Let‘srock与ueditor结合前的准备工作首先从表单开始生成token建立图片空间生成token上传流程集成ueditor... 查看详情

文件存储-搜索导航栏-搜索接口-搜索页面-支付宝支付介绍-支付宝二次封装-订单表设计-下单接口-前端支付页面-支付成功回调(代码片段)

...口-前端支付页面-支付成功回调今日内容详细1文件存储1.0七牛云申请存储空间1.1七牛云上传文件2搜索导航栏2.1Header.vue3搜索接口4搜索页面5支付宝支付介绍5.1支付测试生成支付链接6支付宝二次封装6.1目录结构7订单表设计8下单接... 查看详情

2018最新七牛云存储8折充值优惠码

 2018刚刚开始,作为云存储行业领先的七牛云存储又推出优惠力度最大的充值优惠码:61d1fd4d。 该优惠码可重复多次使用,建议收藏。七牛优惠码是七牛云存储官方提供的,尽可能的会大客户降低成本的内部优惠码,想要... 查看详情

七牛云--对象存储

七牛云--对象存储(此SDK适用于Java7及以上版本)使用maven创建工程:pom.xml配置文件<!--java7及以上版本,qiniu-java-sdk的版本[7.2.0,7.2.99]--><dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk< 查看详情

上手七牛云存储

早就听说过七牛云存储,终于有时间上手实践。 1、第一步,注册七牛账号,由于是测试,首先申请的是个人账号 2、注册成功之后,默认是体验账号,每月只有1G的空间容量及1G的下载流量      3、... 查看详情

wp集成七牛云存储(原创)

  借助:七牛镜像存储WordPress插件https://wordpress.org/plugins/wpjam-qiniu/安装本插件1.4.5及以上版本,请先安装并激活WPJAMBASIC插件。如果是使用1.4.5以下版本,WPJAMBASIC插件已包含七牛插件,如果启用WPJAMBASIC插件,请先停用插件... 查看详情

七牛云详细教程(包含与阿里云建立连接)

七牛云详细教程(包含与阿里云建立连接)1、七牛云简介不管是设计师,还是开发者,亦或是个人、公司。我们有时会需要将图片存在网络上,然后用链接来分享给他人。或是,用来给网站做图片外链,通过CDN加速,新浪、QQ、... 查看详情

七牛云对象存储java使用

...avaSDK简介使用SDK上传文件下载文件测试对象存储服务简介七牛云海量存储系统(KODO)是自主研发的非结构化数据存储管理平台,支持中心和边缘存储。平台经过多年大规模用户验证已跻身先进技术行列,并广泛应... 查看详情

django之集成七牛云对象存储(代码片段)

Python3+Django2.0集成“七牛云”对象存储(SDK文档地址:http://developer.qiniu.com/kodo/api/3928/error-responses)步骤1:  在七牛云中创建一个“存储空间”(需要实名认证,每月免费10GB)步骤2:  在“个人面板”-->“秘钥管理”中... 查看详情

七牛云创建存储空间并绑定自定义域名-https协议

七牛云创建存储空间并绑定自定义域名-https协议一、准备0、绑定自定义域名的前提:你起码拥有过一个备案过的域名[一级域名]1、在七牛云创建一个存储空间2、存储空间绑定自定义域名(cdn加速):绑定一个http协议的域名3、在七... 查看详情

七牛云免费对象存储,并绑定到cloudreve中

...站的图库,这样对网站的访问效率也会提高。今天了解到七牛云有免费的对象存储可以使用,于是自己就是注册了账号,而且需要实名,一切完成后,就可以开通对象存储功能了下面是对象存储的免费额度,存储空间是10G,月流... 查看详情

七牛云存储优惠码及使用方法8折

...件或是CDN镜像加速,而这些使用者中有一大部分是使用的七牛云存储,目前七牛针对标准用户免费提供存储空间10GB,免费每月下载流量10GB,免费每月PUT/DELETE10万次请求,免费每月GET100万次请求。如果你的流量比较大或者需要绑... 查看详情

七牛云--开发笔记

开发文档:https://developer.qiniu.com/kodo/sdk/1241/php一、下载官方SDK: https://github.com/qiniu/php-sdk/releases?ref=developer.qiniu.com下载源代码包后,解压到您的项目中。然后在您的项目中引入autoloader: 基本使用方法安装好SDK后,接下来... 查看详情

如何用建木ci往七牛云上传文件(代码片段)

#gitee仓库路径#七牛云空间管理中创建的空间名字#七牛云密钥管理中的AK#七牛云密钥管理中的SK#存储区域,不设置时,自动识别,华东:z0;华北:z1;华南:z2;北美:na0;东南亚:as0#上传后在七牛云生成的uri#要上传的文件目... 查看详情

前端上传图片头像到七牛云格式变成text

参考技术A流程:七牛云后台的对象存储功能,nodejs后台生成七牛云的token,前端利用elementUI/ice的upload组件,文件名和token作为参数请求到七牛云后台。配置已经完成,写接口用的是express,koa同理,主要做法是先接收前端的图片... 查看详情

2018年最新有效的七牛云存储充值优惠码(19345821)以及充值图文教程

 我们可能熟悉的七牛云存储提供商,提供的功能可能局限在提供图片和文档存储服务的,比如每个免费账户10GB存储空间是免费的,而且上传流量也是免费的,而且请求数值也有一定免费的额度。当然七牛云提供的服务不仅... 查看详情

织梦dedecms的二次开发之数据库类操作

1.创建数据表为了让讲解更加的贴合实际,天涯版主创建了一个名为"dede_test"的表,里面就2个字段,1个id,作为唯一标识,另一个name作为名称。然后往里面添加测试数据,这个操作类似于Access或者EXCEL,比较简单,这里不做冗述... 查看详情