七牛云图片上传

本文详细介绍了如何使用PHP进行七牛云图片上传的步骤,包括注册账号、实名认证、创建空间、获取密钥和域名、下载依赖以及封装上传函数。通过这个过程,你可以了解如何在实际项目中安全地调用七牛云服务。

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);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值