沉浸式阅读
Beta
原创

DESTOON-七牛云对象存储

     订阅 开发技术     2019-08-26     www.mbkfw.com    小黑    1072    1    0    0    2019-11-20
学习要点:destoon7.0系统七牛云对象存储1.注意客户购买的空间的存储区域,区域不同对应的上传域名不同destoon 七牛云上传文件 用下面源码替换include/ftp.class.php文件代码

destoon7.0系统七牛云对象存储

1.注意客户购买的空间的存储区域,区域不同对应的上传域名不同


destoon  七牛云上传文件   用下面源码替换include/ftp.class.php

文件代码如下:

<?php
defined('IN_DESTOON') or exit('Access Denied');
class dftp {
	var $connected = 0;
	var $ak;
	var $sk;
	var $bk;

	function __construct($ftphost, $ftpuser, $ftppass, $ftpport = 21, $root = '/', $pasv = 0, $ssl = 0) {
		$this->connected = 1;
		$this->ak = $ftpuser;
		$this->sk = $ftppass;
		$this->bk = $root;
	}

	function dftp($ftphost, $ftpuser, $ftppass, $ftpport = 21, $root = '/', $pasv = 0, $ssl = 0) {
		$this->__construct($ftphost, $ftpuser, $ftppass, $ftpport, $root, $pasv, $ssl);
	}

	function dftp_delete($file) {
		$key = $file;
		$entry = $this->bk.':'.$key;
		$encodedEntryURI = $this->dftp_encode($entry);
		$signingStr = "/delete/".$encodedEntryURI."\n";
		$sign = hash_hmac('sha1', $signingStr, $this->sk, true);
		$encodedSign = $this->dftp_encode($sign);
		$accessToken = $this->ak.':'.$encodedSign;
		$headers = array();
		$headers[] = 'Authorization: QBox '.$accessToken;
		$cur = curl_init('http://rs.qiniu.com/delete/'.$encodedEntryURI);
		curl_setopt($cur, CURLOPT_POST, 1);
		curl_setopt($cur, CURLOPT_POSTFIELDS, '');
		curl_setopt($cur, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($cur, CURLOPT_HEADER, 0);
		curl_setopt($cur, CURLOPT_SSL_VERIFYPEER, 0);
		curl_setopt($cur, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($cur, CURLOPT_HTTPHEADER, $headers);
		$rec = curl_exec($cur);
		curl_close($cur);
	}

	function dftp_put($local, $remote = '') {
		global $DT_TIME;
		$remote or $remote = $local;
		$local = DT_ROOT.'/'.$local;
		$key = $remote;
		$P = array();
		$P['scope'] = $this->bk.':'.$key;
		$P['deadline'] = $DT_TIME + 3600;
		$putPolicy = json_encode($P);
		$encodedPutPolicy = $this->dftp_encode($putPolicy);
		$sign = hash_hmac('sha1', $encodedPutPolicy, $this->sk, true);
		$encodedSign = $this->dftp_encode($sign);
		$uploadToken = $this->ak.':'.$encodedSign.':'.$encodedPutPolicy;
		$headers = array();
		$headers[] = 'Expect: ';
		$par = array();
		$par['key'] = $key;
		$par['token'] = $uploadToken;
		#$par['file'] = '@'.$local;
		$par['file'] = file_get_contents($local);
		$cur = curl_init('http://upload-z2.qiniu.com/');
		curl_setopt($cur, CURLOPT_POST, 1);
		curl_setopt($cur, CURLOPT_POSTFIELDS, $par);
		curl_setopt($cur, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($cur, CURLOPT_HEADER, 0);
		curl_setopt($cur, CURLOPT_SSL_VERIFYPEER, 0);
		curl_setopt($cur, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($cur, CURLOPT_HTTPHEADER, $headers);
		$rec = curl_exec($cur);
		curl_close($cur);
		if(strpos($rec, 'key') !== false) {
			$arr = json_decode($rec, true);
			if($arr['key'] == $key) return true;
		}
		return false;
	}

	function dftp_chdir() {
		if(!function_exists('hash_hmac')) return false;
		if(!function_exists('curl_init')) return false;
		return true;
	}

	function dftp_encode($str) {
		return str_replace(array('+', '/'), array('-', '_'), base64_encode($str));
	}
}
?>

后台设置:

配置细节说明:

FTP主机:upload.qiniu.com

FTP帐号:AccessKey 例如:db2N1b4xpqtA7UltwE97feeetgssYNjHFf9k-ZFs

FTP密码:SecretKey 例如:E_1yje34kU6Zq-EVsqgxducdfcdc6nZiLshMpL_O

远程存储目录:存储空间 bucket 名称 例如:img-destoon-com

远程访问URL:绑定域名 例如:http://img.destoon.com/


本文标题: DESTOON-七牛云对象存储

本文链接: https://www.mbkfw.com/course/686.html (转载时请注明来源链接)

本文说明: 有问题或投稿请发送至: 邮箱/kf@dtmuban.com    QQ/290948585

特别鸣谢: 如果您觉得本文对您有帮助,请给我们一个小小的赞,收藏本文更利于反复学习哦!

 
destoon程序前端开发标签生成器

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“商企云服”
"模板开发网前端开发教学"
每日干货技术分享
 
0

圈友点评

文明上网理性发言,请遵守网络评论服务协议
更多>

猜您需要

 
【ECS精选特惠】新用户上云低至1折起


色彩
×

《客户实名在线注册登记》售后一直都在!

关注

微信
关注

微信扫一扫
不同的环境体验

幸运大转盘,好礼等您拿

模板开发网公众号

模板开发网微信小程序

代授权

程序
授权

黑小二

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。咨询客服

联系客服:

在线QQ: 290948585

客服电话: 18605917465

E_mail邮箱: kf@dtmuban.com

微信公众号: 商企云服

微信小程序: 模板开发

QQ客服 微信客服DT授权代办 在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 18:00

APP下载

安卓
APK

模板开发网安卓版APP

反馈

我要
反馈