插件窝 干货文章 php七牛云上传图片

php七牛云上传图片

上传文件 七牛云 云储存 图片 817    来源:插件窝    2020-01-18

composer安装:

composer require qiniu/php-sdk

配置使用:


在配置文件qiniu.php中配置七牛云的参数


    'qiniu' => [
        'ak' => '你的accesskey',
        'sk' => '你的secretkey',
        'bucket'    => '存储空间'
    ],

php代码:

/**
    * 上传图片
    * @return null|string
    */
    public static function image()
    {
        if(empty($_FILES['file']['tmp_name'])){
            explode('图片不合法',404);
        }
        // 要上传文件的临时文件
        $file = $_FILES['file']['tmp_name'];
        $pathinfo = pathinfo($_FILES['file']['name']);
        // 通过pathinfo函数获取图片后缀名
        $ext = $pathinfo['extension'];
        $conf = config('qiniu.');
        // 构建鉴权对象
        $auth = new Auth($conf['ak'],$conf['sk']);
        // 生成上传需要的token
        $token = $auth->uploadToken($conf['bucket']);
        // 上传到七牛后保存的文件名
        $filename = date('Y').'/'.date('m').'/'.substr(md5($file),8,5).date('Ymd').rand(0,9999).'.'.$ext;
        // 初始化UploadManager类
        $uploadMgr = new UploadManager();
        list($rest, $err) = $uploadMgr->putFile($token,$filename,$file);
        if($err){
            return json(['code'=>0,'msg'=>'上传图片失败,请重试']);
        }else{
            $path = "http://xxxx.com/".$filename;
            return json(['code'=>1,'msg'=>'上传成功','path'=>$path,'file_name'=>$filename]);
        }
    }

ps:保存图片路径可以自己优化一下,七牛云删除图片请移步:http://www.chajianwo.com/blog-240.html

前端异步上传图片参考:http://www.chajianwo.com/blog-80.html