域名设置->七牛域名
public $returnurl = 'http://yourdomain.com/index.php';//上传成功后的回调地址
public $qiniuauth;
protected function _initialize(){
parent::_initialize();
import('@.common.qiniu');
$this->qiniuauth = new auth($this->accesskey, $this->secretkey);
}
//列表页
public function index(){
$auth = $this->qiniuauth;
$bucketmgr = new bucketmanager($auth);
$bucket = $this->bucket;
$prefix = '';
$marker = '';
$limit = 100;//显示数量
list($iterms, $marker, $err) = $bucketmgr->listfiles($bucket, $prefix, $marker, $limit);
if ($err !== null) {
dump($err);
$this->error('发生错误,请联系管理员。');
} else {
foreach ($iterms as $key => $val) {
$expire = time() + 3600; //过期时间(秒)
$url = $this->domain . $val['key'] . '?e=' . $expire;//构造url
$sign = $auth->sign($url); //进行签名加密
$token ='&token=' . $sign; //组装签名得到的token
$val['url'] = $url . $token; //生成最终url
$iterms[$key] = $val;
}
$this->assign('list', $iterms);
}
$this->display();
}
//上传(模板文件见附件)
public function add(){
$auth = $this->qiniuauth;
$bucket = $this->bucket; // 要上传的空间
$key = time() . '.jpg';//自定义的名字,如果不设置,就跟hash相同
$policy = array(
'returnurl' => $this->returnurl,
'returnbody'=> '{key: $(key), hash: $(etag), w: $(imageinfo.width), h: $(imageinfo.height)}'
);
$token = $auth->uploadtoken($bucket, $key, 3600, $policy); // 生成上传 token
$this->assign('token', $token);
$this->assign('key', $key);
$this->display();
}
public function del(){
$key = i('get.key');
if($key !== ''){
$auth = $this->qiniuauth;
$bucketmgr = new bucketmanager($auth);
if($err = $bucketmgr->delete($this->bucket, $key) == null){
redirect($_server['http_referer']);
}else{
$this->error('删除失败');
}
}else{
redirect($_server['http_referer']);
}
}
}
qiniu.7z ( 9.01 kb 下载:118 次 )
ad:真正免费,域名+虚机+企业邮箱=0元
