先从官网下载SDK,然后新建一个文件,里面包括上传,下载,删除
使用的是ThinkPHP框架,把下载的SDK放到vendor文件夹下
<?php
use Qiniu\Auth as Auth;
use Qiniu\Storage\BucketManager;
use Qiniu\Storage\UploadManager;
// 上传文件到七牛云
function UploadQiniuVideo($file,$ext)
{
// 要上传图片的本地路径
$filePath = $_FILES['file']['tmp_name'];
// 上传到七牛后保存的文件名
$key = $ext.'/'.substr(md5($filePath) , 0, 5) .'/'. date('YmdHis') . rand(0, 9999) . '.' . $ext;
vendor('qiniu.autoload');
$accessKey = config('ACCESSKEY');
$secretKey = config('SECRETKEY');
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 要上传的空间
$bucket = config('BUCKET');
$domain = config('DOMAIN');
// return $bucket;die;
$token = $auth->uploadToken($bucket);
// 初始化 UploadManager 对象并进行文件的上传
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if ($err !== null) {
return ["err"=>1,"msg"=>$err,"data"=>""];
} else {
// 私有空间需要对文件链接进行签名
// $signedUrl = $auth->privateDownloadUrl($domain.'/'.$ret['key']);
//返回图片的完整URL
// return $signedUrl;
return $domain.'/'.$ret['key'];
}
}
//删除七牛云上的文件 要删除文件的路径
function DelQiniuVideo($src)
{
vendor('qiniu.autoload');
// 需要填写你的 Access Key 和 Secret Key
$accessKey = config('ACCESSKEY');
$secretKey = config('SECRETKEY');
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 要上传的空间
$bucket = config('BUCKET');
$domain = config('DOMAIN');
$config = new \Qiniu\Config();
$bucketMgr = new BucketManager($auth,$config);
//截取存在七牛云上的图片地址
$newstr = substr($src,strpos($src, '/')+2);
$key = substr($newstr,strpos($newstr, '/')+1);
$err = $bucketMgr->delete($bucket, $key);
if ($err !== null) {
return return_error('删除失败');
} else {
// return true;
}
}
上传大文件可参考基于php大文件分片上传至七牛云,支持断点续传,带进度条https://blog.csdn.net/qq_25285531/article/details/130356138