<?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文件夹