1、注册七牛云账号,实名认证,获得对象存储功能
2、创建空间

3、找到密钥和域名


4、下载依赖
composer require qiniu/php-sdk
5.在common里封装函数,或者在控制器文件下封装上传类 ,我这里做简单的函数封装
如果不想自己的密钥和桶名裸露在外面,可以在config里配置一下,作为数组返回,在函数里使用config(),这里就不举例了,我的代码可能不规范,主要是记录实现功能的方法。
function uploadDo($file){
if (empty($file['tmp_name'])){
return "您提交的图片数据不合法";
}else {
$ak = 'XXXXXXXXXX';//Access_Key
$sk = 'XXXXX';//Secret_Key
$bucket = 'XXXXXXX';//空间名称
$image_url = 'http://XXXXXXXX.clouddn.com/';//外链域名
//构建一个鉴权对象
$auth = new \Qiniu\Auth($ak, $sk);
//生成上传的token
$token = $auth->uploadToken($bucket);
//获取图片后缀名
$ext =strtolower(substr($file['name'],strpos($file['name'],'.')));;
//上传到七牛云后 保存的文件名
$saveFileName = md5($file['name']) . date('s',time()) . rand(1,99999).$ext;
//初始化UploadManager类
$uploadMgr = new \Qiniu\Storage\UploadManager();
$opRes = $uploadMgr->putFile($token, $saveFileName, $file['tmp_name']);
$fileName = $image_url.$saveFileName;
if ($opRes[1] != null) {
return '上传失败';
} else {
return $fileName;
}
}
}
6、在控制器直接调用,返回数据自己可以测试一下
//七牛云文件上传测试
public function uploads()
{
$file = $_FILES['goods_logo'];
$fileName = uploadDo($file);
return toJsonData(0,'ok',$fileName);
}
本文详细介绍了如何使用PHP进行七牛云图片上传的步骤,包括注册账号、实名认证、创建空间、获取密钥和域名、下载依赖以及封装上传函数。通过这个过程,你可以了解如何在实际项目中安全地调用七牛云服务。

3446

被折叠的 条评论
为什么被折叠?



