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 积分,解读结果公开显示在下面。

还没有人解读过这个文件。