| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?php namespace Upload\Lib\Tool;use Dever;Dever::apply('sdk/oss', 'upload');# 后续开发吧class Oss{    private $token;    private $auth;    private $bucket;    public function __construct($config)    {        $this->auth = new \Qiniu\Auth($config['appkey'], $config['appsecret']);        $this->token = $this->auth->uploadToken($config['bucket'], null, 3600);        $this->bucket = $config['bucket'];        $this->client = new OssClient($accessKey, $secretKey, $endpoint, false, $token);    }    # 查看文件    public function view($file)    {        return $this->auth->privateDownloadUrl($file);    }    # 上传文件    public function upload($type, $source, $dest)    {        $ret = array();        $options = array();        if ($type == 1) {            $client = new \Qiniu\Storage\UploadManager();            list($ret, $err) = $client->putFile($this->token, $dest, $source, $options);        } elseif ($type == 2) {            $client = new \Qiniu\Storage\UploadManager();            list($ret, $err) = $client->put($this->token, $dest, $source, $options);        } elseif (strstr($source, 'http')) {            $method = 'fetch';            $client = new \Qiniu\Storage\BucketManager($this->auth);            $items = $client->fetch($source, $this->bucket, $dest);            if (isset($items[0])) {                $ret = $items[0];            }        } else {            Dever::error('上传类型无效');        }        return $ret;    }    # 删除文件    public function delete($file, $bucket = false)    {        $bucket = $bucket ? $bucket : $this->bucket;        $client = new \Qiniu\Storage\BucketManager($this->auth);        $result = $client->delete($bucket, $file);        return $result;    }    # 下载文件    public function download($file, $bucket = false)    {        $bucket = $bucket ? $bucket : $this->bucket;        $client = new \Qiniu\Storage\UploadManager();        $content = $client->getObject($bucket, $file, array());        return $content;    }    # 视频截图 vframe/jpg/offset/7/w/480/h/360    public function cover($key, $file, $num = 1, $local = 2)    {        $file .= '?vframe/jpg/offset/' . $num;        if ($local == 1) {            $data = Dever::load('upload')->save(6, $file, 'jpg');            return $data['url'] . '?time=' . time();        } else {            return $file;        }    }}
 |