tp5 +七牛云储存的示例程序

<?php
namespace app\admin\controller;
use app\common\controller\Common;
use \Qiniu\Auth;
use \Qiniu\Storage\UploadManager;
use \Qiniu\Config;
use \Qiniu\Zone;
class Index extends Common
{
    protected function _initialize()
    {
        parent::_initialize();
        vendor("Qiniu.autoload");
    }
    public function index()
    {
        $filename="";
        if($_FILES["file"]["tmp_name"]){
            $accessKey = config('accessKey');
            $secretKey = config('secretKey');
            $bucket = config('bucket');
            $auth = new Auth($accessKey, $secretKey);
            // 上传文件到七牛后, 七牛将文件名和文件大小回调给业务服务器.
            // 可参考文档: http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
            $policy = array(
                // 'callbackUrl' => 'http://animation.ckeck.cn/index.php',
                // 'callbackBody' => 'filename=$(fname)&filesize=$(fsize)'
            );
            $uptoken = $auth->uploadToken($bucket, null, 3600, $policy);
            //上传文件的本地路径
            $filePath = $_FILES["file"]["tmp_name"];
            // 指定zone上传
            $zone = Zone::zone0(); //华东
            $config = new Config($zone);
            //指定 config
            $uploadMgr = new UploadManager($config);
            list($ret, $err) = $uploadMgr->putFile($uptoken, null, $filePath);
            if ($err !== null) {
                dump($err);
            } else {
                dump($ret);
                $filename="http://comic.ckeck.cn/".$ret["key"];
            }
        }
        return $this->fetch('index',["filename"=>$filename]);
    }
}
//其中:七牛云的sdk放置在vendor/Qiniu/文件夹下,包含autoload.php 和 src文件夹

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注