ThinkPHP/Library/Think/Upload/Driver/Qiniu/QiniuStorage.class.php
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Think\Upload\Driver\Qiniu;
class QiniuStorage {
public $QINIU_RSF_HOST = 'http://rsf.qbox.me';
public $QINIU_RS_HOST = 'http://rs.qbox.me';
public $QINIU_UP_HOST = 'http://up.qiniu.com';
public $timeout = '';
public function __construct($config){
$this->sk = $config['secretKey'];
$this->ak = $config['accessKey'];
$this->domain = $config['domain'];
$this->bucket = $config['bucket'];
$this->timeout = isset($config['timeout'])? $config['timeout'] : 3600;
}
static function sign($sk, $ak, $data){
$sign = hash_hmac('sha1', $data, $sk, true);
return $ak . ':' . self::Qiniu_Encode($sign);
}
static function signWithData($sk, $ak, $data){
$data = self::Qiniu_Encode($data);
return self::sign($sk, $ak, $data) . ':' . $data;
}
public function accessToken($url, $body=''){
$parsed_url = parse_url($url);
$path = $parsed_url['path'];
$access = $path;
if (isset($parsed_url['query'])) {
$access .= "?" . $parsed_url['query'];
}
$access .= "\n";
if($body){
$access .= $body;
}
return self::sign($this->sk, $this->ak, $access);
}
public function UploadToken($sk ,$ak ,$param){
$param['deadline'] = $param['Expires'] == 0? 3600: $param['Expires'];
$param['deadline'] += time();
$data = array('scope'=> $this->bucket, 'deadline'=>$param['deadline']);
if (!empty($param['CallbackUrl'])) {
$data['callbackUrl'] = $param['CallbackUrl'];
}
if (!empty($param['CallbackBody'])) {
$data['callbackBody'] = $param['CallbackBody'];
}
if (!empty($param['ReturnUrl'])) {
$data['returnUrl'] = $param['ReturnUrl'];
}
if (!empty($param['ReturnBody'])) {
$data['returnBody'] = $param['ReturnBody'];
}
if (!empty($param['AsyncOps'])) {
后面还有 273 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
