DedeCms织梦二次开发网-Dede织梦工场-DedeCms教程-Dede二次开发-DedeCms二次开发-Dede模块开发-Dede插件开发-Dede标签开发DedeCms织梦二次开发网

DedeCms织梦整合七牛云支持ckeditor|kindeditor|ueditor图集[上传][编辑][删除]

摘要:DedeCms织梦整合七牛云特点 1、支持缩略图本地上传、站内选择上传、支持原图选择、支持裁切选择、支持勾选远程下载 2、支持多媒体、附件上传 3、支持自定义字段(图片、多媒体、附件

演示效果

DedeCms织梦整合七牛云支持ckeditor|kindeditor|ueditor图集[上传][编辑][删除]

环境要求

  • PHP >= 5.3.0

更新日记

2017/06/30    修正图集编辑重新上传图片调用的还是本地图片问题;

老用户打开 /dede/album_edit.php 找到

$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
$imgurls .= "{dede:img ddimg='$litpicname' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n";
改成
$imginfo =  !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';
$imgurls .= "{dede:img ddimg='".$cfg_qiniudomain.$litpicname."' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} ".$cfg_qiniudomain.$v." {/dede:img}\r\n";

2017/11/06    修正缩略图取消弹出裁切框后返回本地图片地址问题;

打开 dede/archives_do.php 找到

parent.document.getElementById('picname').value = '{$upfile}';
改成
parent.document.getElementById('picname').value = '{$cfg_qiniudomain}{$upfile}';

织梦整合七牛云特点

1、支持缩略图本地上传、站内选择上传、支持原图选择、支持裁切选择、支持勾选远程下载
2、支持多媒体、附件上传
3、支持自定义字段(图片、多媒体、附件)
4、支持图集[上传][编辑][删除]
5、支持织梦自带编辑器ckeditor单图片、多图片、多媒体、附件上传
6、支持文章内容[下载远程图片和资源]如果是你的七牛云空间图片不会再自动下载,其他远程附件正常下载并上传到七牛云
7、支持开启和关闭七牛云

使用前设置

申请七牛云,开通存储,域名那些简单操作这里不再唠叨。

后台 - 系统配置 - 添加变量(注意对比,一个也不能错)

DedeCms织梦整合七牛云支持ckeditor|kindeditor|ueditor图集[上传][编辑][删除]

变量名称:cfg_qiniu
变量类型:布尔(Y/N)
参数说明:开启七牛云
变量值:Y
所属组:站点设置
变量名称:cfg_qiniubucket
变量类型:文本
参数说明:七牛云空间
变量值:
所属组:站点设置
变量名称:cfg_qiniudomain
变量类型:文本
参数说明:七牛云域名
变量值:
所属组:站点设置
变量名称:cfg_qiniuak
变量类型:文本
参数说明:七牛云AK
变量值:
所属组:站点设置
变量名称:cfg_qiniusk
变量类型:文本
参数说明:七牛云SK
变量值:
所属组:站点设置

织梦整合七牛云全部文件打包(gbk / utf8)

云盘下载   密码: 5l4a (2017/06/30)

由于改动文件较多,打包文件仅适合网站未二次修改过同学使用;

二次修改过程序的同学请用【Beyond Compare】软件对比来修改;

警告:使用前请务必先备份以下需要改动的文件

改动文件包括以下

\dede\album_add.php
\dede\album_edit.php
\dede\config.php
\dede\imagecut.php
\dede\swfupload.php
\dede\inc\inc_archives_all.php
\dede\inc\inc_archives_functions.php
\dede\templets\imagecut.htm
\include\customfields.func.php
\include\dialog\select_images.php
\include\dialog\select_images_post.php
\include\dialog\select_media.php
\include\dialog\select_soft.php
\include\dialog\select_soft_post.php
\include\helpers\upload.helper.php

添加文件夹有

\include\qiniu

kindeditor支持七牛云上传教程

想用kindeditor编辑器的同学可以参考这个文章《DedeCms织梦富文本编辑器ckeditor更换为kindeditor富文本

让kindeditor支持七牛云看下面教程

打开 \include\dialog\kindeditor_post.php 找到

$inquery = "INSERT INTO
在它的上面加入
//开启七牛云
require_once(DEDEINC.'/qiniu/autoload.php');
use Qiniu\Auth;
$auth = new Auth($cfg_qiniuak, $cfg_qiniusk);
$token = $auth->uploadToken($cfg_qiniubucket);
use Qiniu\Storage\UploadManager;

if($cfg_qiniu == 'Y')
{
	$uploadMgr = new UploadManager();
	$key = substr($activepath,1).'/'.$filename;
	list($ret, $err) = $uploadMgr->putFile($token, $key, $fullfilename);
}
继续找到
'".$activepath."/".$filename."'
改成
'".$cfg_qiniudomain.$activepath."/".$filename."'
最后找到
$activepath."/$mdir/".$filename_name
改成
$cfg_qiniudomain.$activepath."/$mdir/".$filename_name

ueditor支持七牛云上传教程

想用ueditor编辑器的同学可以参考这个文章《DedeCms织梦更换ueditor百度编辑器(支持图片水印和多个百度编辑器同时使用)

让ueditor支持七牛云看下面的教程

打开 \include\ueditor\php\Uploader.class.php 找到

class Uploader
在它的上面加入
require_once("../../common.inc.php");
require_once("../../image.func.php");
//开启七牛云
require_once(DEDEINC.'/qiniu/autoload.php');
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
继续找到
/**
 * 获取当前上传成功文件的各项信息
 * @return array
 */
public function getFileInfo()
{
	return array(
		"state" => $this->stateInfo,
		"url" => $this->fullName,
		"title" => $this->fileName,
		"original" => $this->oriName,
		"type" => $this->fileType,
		"size" => $this->fileSize
	);
}
在这个方法的下面加入一个方法
/**
* 七牛云上传
* @param $key		文件的名称
* @param $filePath	上传的文件
*/
public function QiniuUpload($key, $filePath)
{
	global $cfg_qiniu, $cfg_qiniuak, $cfg_qiniusk, $cfg_qiniubucket, $cfg_qiniudomain;
	$auth = new Auth($cfg_qiniuak, $cfg_qiniusk);
	$token = $auth->uploadToken($cfg_qiniubucket);
	$uploadMgr = new UploadManager();
	list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
	if($err !== null){
		$err['status'] = 0;
		return $err;
	}else{
		$ret['status'] = 1;
		return $ret;
	}
}
最后找到
$this->stateInfo = $this->stateMap[0];
这个地方有3处,都要在找到的代码下面添加
//开启七牛云
global $cfg_qiniu, $cfg_qiniudomain;
if($cfg_qiniu == 'Y')
{
	$ret = $this->QiniuUpload(preg_replace('/\//','',$this->fullName,1), $this->filePath);

	if($ret['status'] == 1)
	{
		$this->fullName = $cfg_qiniudomain.$this->fullName;
	}
}
完成。

2017/7/17 织梦自带采集支持上传附件到七牛云教程

打开 \include\dedecollection.class.php 找到

@set_time_limit(0);
在它的下面加入
//开启七牛云
require_once(DEDEINC.'/qiniu/autoload.php');
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
继续找到
global $notckpic;
在它的下面加入
global $cfg_qiniu, $cfg_qiniuak, $cfg_qiniusk, $cfg_qiniubucket, $cfg_qiniudomain;
继续找到
if($tofile=='')
它的上面加入
//开启七牛云
if($cfg_qiniu == 'Y')
{
	$auth = new Auth($cfg_qiniuak, $cfg_qiniusk);
	$token = $auth->uploadToken($cfg_qiniubucket);
	$uploadMgr = new UploadManager();
	$key = preg_replace('/\//','',$filename,1);
	list($ret, $err) = $uploadMgr->putFile($token, $key, $GLOBALS['cfg_basedir'].$filename);
}
最后找到
return $filename;
改成
//开启七牛云
if($cfg_qiniu == 'Y')
{
	$auth = new Auth($cfg_qiniuak, $cfg_qiniusk);
	$token = $auth->uploadToken($cfg_qiniubucket);
	$uploadMgr = new UploadManager();
	$key = preg_replace('/\//','',$filename,1);
	list($ret, $err) = $uploadMgr->putFile($token, $key, $GLOBALS['cfg_basedir'].$filename);
}
return $cfg_qiniudomain.$filename;
完成。

DedeCMS织梦工场QQ群

群号(23871657) DedeCMS织梦工场
只适用于讨论dedecms二次开发相关话题,其他闲聊、广告、斗图、捣乱请自重自觉,谢谢合作!

不忘初心 、方得始终

DedeCMS织梦工场 - 致力于把最实用的DedeCms二次开发教程,DedeCms二次开发视频,DedeCms二次开发实例经验,分享给最需要的站长,希望每一位来访的站长都能有所收获!

如果您认为本网站的内容质量不错或者读后成功解决你心中的难题,觉得收获很大,那么不妨小额赞助一下,让我们有动力继续写出高质量的教程与更棒的程序教程。打赏记录

赞助方式

donate_zhifubao 支付宝手机客户端扫描上面的二维码进行赞助

donate_weixin 微信手机客户端扫描上面的二维码进行赞助

来源:DedeCms织梦工场 » DedeCms织梦整合七牛云支持ckeditor|kindeditor|ueditor图集[上传][编辑][删除]
据说喜欢分享的,后来都成了大神: 更多