<?php
namespace ga;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use think\Env;
class Qiniu
{
public function __construct()
{
$accessKey = Env::get('qiniu.access_key');
$secretKey = Env::get('qiniu.secret_key');
$bucket = Env::get('qiniu.bucket');
$this->domain = Env::get('qiniu.domain');
$auth = new Auth($accessKey, $secretKey);
$this->token = $auth->uploadToken($bucket);
$this->uploadMgr = new UploadManager();
}
//file对象上传
public function upload_p3($file)
{
$fileInfo = $file->getInfo();
$extension = pathinfo($fileInfo['name'],PATHINFO_EXTENSION);
//新文件名
$unique = create_guid();
$key = 'dd/'.date('Y').'/'.date('m').'/'.date('d').'/'.$unique.'.'.$extension;
list($ret, $err) = $this->uploadMgr->putFile($this->token, $key, $fileInfo['tmp_name']);
if ($err !== null) {
logz($err);
return false;
}
return $this->domain.'/'.$key;
}
}
//公共方法
//创建uuid
function create_guid($namespace = '')
{
$guid = '';
$uid = uniqid("", true);
$data = $namespace;
$data .= $_SERVER['REQUEST_TIME'];
$data .= $_SERVER['HTTP_USER_AGENT'];
$data .= $_SERVER['LOCAL_ADDR'] ?? '';
$data .= $_SERVER['LOCAL_PORT'] ?? '';
$data .= $_SERVER['REMOTE_ADDR'];
$data .= $_SERVER['REMOTE_PORT'];
$hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));
$guid = '{' .
substr($hash, 0, 8) .
substr($hash, 8, 4) .
substr($hash, 12, 4) .
substr($hash, 16, 4) .
substr($hash, 20, 12) .
'}';
return md5($guid);
}
06-02
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交