您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

七牛云存贮demo

2024/4/8 22:43:20发布21次查看
七牛的开发文档真能把人看的稀里糊涂的,搜demo又搜不到,没法,自己研究了一下,共享出部分代码,权当抛砖引玉了,不好您也别喷(使用的tp3.1.x的框架,不支持命名空间,所以把api整合到一个文件里了,省得引入不正确,见附件)
域名设置->七牛域名
        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元
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product