【七牛云】使用PHP把文件上传到七牛云

先从官网下载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大文件分片上传至七牛云,支持断点续传,带进度条icon-default.png?t=N7T8https://blog.csdn.net/qq_25285531/article/details/130356138

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下页、再停留

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值