七牛的开发文档真能把人看的稀里糊涂的,搜demo又搜不到,没法,自己研究了一下,共享出部分代码,权当抛砖引玉了,不好您也别喷(使用的TP3.1.X的框架,不支持命名空间,所以把api整合到一个文件里了,省得引入不正确,见附件)<?php <br />
<br>
<br>
class QiniuAction extends Action {<br>
<br>
public $accessKey = '******WqG8S6_d0z81ctXRe9q**********';//请自行去七牛申请<br>
public $secretKey = '*************Y6Hi7nsdaqsI**********';//请自行去七牛申请<br>
public $bucket = 'test12345'; //你的七牛管理后台的某个空间名<br>
public $domain = 'http://xxxxxx.clouddn.com/';//你的七牛管理后台的分配给你的域名,位于 空间设置->域名设置->七牛域名<br>
public $returnUrl = 'http://yourdomain.com/index.php';//上传成功后的回调地址<br>
public $QiniuAuth;<br>
<br>
<br>
protected function _initialize(){<br>
parent::_initialize();<br>
<br>
import('@.Common.Qiniu');<br>
$this->QiniuAuth = new Auth($this->accessKey, $this->secretKey);<br>
}<br>
<br>
<br>
//列表页<br>
public function index(){<br>
$auth = $this->QiniuAuth;<br>
$bucketMgr = new BucketManager($auth);<br>
<br>
$bucket = $this->bucket;<br>
$prefix = '';<br>
$marker = '';<br>
$limit = 100;//显示数量<br>
<br>
list($iterms, $marker, $err) = $bucketMgr->listFiles($bucket, $prefix, $marker, $limit);<br>
if ($err !== null) {<br>
dump($err);<br>
$this->error('发生错误,请联系管理员。');<br>
} else {<br>
foreach ($iterms as $key => $val) {<br>
$expire = time() + 3600; //过期时间(秒)<br>
$url = $this->domain . $val['key'] . '?e=' . $expire;//构造URL<br>
$sign = $auth->sign($url); //进行签名加密<br>
$token ='&token=' . $sign; //组装签名得到的token<br>
$val['url'] = $url . $token; //生成最终url<br>
$iterms[$key] = $val;<br>
}<br>
<br>
$this->assign('list', $iterms);<br>
}<br>
<br>
$this->display();<br>
}<br>
<br>
<br>
//上传(模板文件见附件)<br>
public function add(){<br>
$auth = $this->QiniuAuth;<br>
$bucket = $this->bucket; // 要上传的空间<br>
$key = time() . '.jpg';//自定义的名字,如果不设置,就跟hash相同<br>
<br>
$policy = array(<br>
'returnUrl' => $this->returnUrl,<br>
'returnBody'=> '{"key": $(key), "hash": $(etag), "w": $(imageInfo.width), "h": $(imageInfo.height)}'<br>
);<br>
<br>
$token = $auth->uploadToken($bucket, $key, 3600, $policy); // 生成上传 Token<br>
<br>
$this->assign('token', $token);<br>
$this->assign('key', $key);<br>
$this->display();<br>
}<br>
<br>
<br>
public function del(){<br>
$key = I('get.key');<br>
if($key !== ''){<br>
$auth = $this->QiniuAuth;<br>
$bucketMgr = new BucketManager($auth);<br>
if($err = $bucketMgr->delete($this->bucket, $key) == NULL){<br>
redirect($_SERVER['HTTP_REFERER']);<br>
}else{<br>
$this->error('删除失败');<br>
}<br>
<br>
}else{<br>
redirect($_SERVER['HTTP_REFERER']);<br>
}<br>
}<br>
<br>
<br>
}
qiniu.7z
( 9.01 KB 下载:118 次 )
AD:真正免费,域名+虚机+企业邮箱=0元

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中