首页 技术 正文
技术 2022年11月11日
0 收藏 664 点赞 4,805 浏览 2691 个字

七牛云对象存储  1.注意客户购买的空间的存储区域,区域不同对应的上传域名不同    destoon  七牛云上传文件   用下面源码替换include/ftp.class.php   文件代码

<?phpdefined('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;
$cur = curl_init('http://upload.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));
}
}
?>

  DT添加七牛云对象存储插件功能

配置例如:

  1. FTP主机:upload.qiniu.com
  1. FTP帐号:AccessKey 例如:db2N1b4xpqtA7UltwE97feeetgssYNjHFf9k-ZFs
  1. FTP密码:SecretKey 例如:E_1yje34kU6Zq-EVsqgxducdfcdc6nZiLshMpL_O
  1. 远程存储目录:存储空间 bucket 名称 例如:zhimo-yuanzhumuban-cc
  1. 远程访问URL:绑定域名 例如:http://zhimo.yuanzhumuban.cc/
上一篇: xz格式解压
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,498
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,136
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,300