php利用七牛云的对象存储完成图片上传-高效管理图片

喜你入骨 提交于 2020-03-26 14:54:17

3 月,跳不动了?>>>

在搭建个人博客时,大家都会买一台云服务器。可是图片的存放一直是一个问题,冷月帮大家找到一个免费的第三方平台对象存储-七牛云。大家可以把图片上传到七牛云的对象存储,大大节约服务器的压力。

首先,大家在使用七牛云的对象存储必须到官网上申请一个账号,并且实名认证。七牛云官网

进入个人中心,点击秘钥管理。记住你的AK和SK。 <img src="https://img-blog.csdnimg.cn/20200225215825885.png" width="100%"/>

创建一个对象存储实例,记住自己的实例名字和测试域名。 <img src="https://img-blog.csdnimg.cn/202002252200260.png" width="100%"/>

在php项目里,利用composer工具安装七牛云的sdk。

composer require qiniu/php-sdk

安装完成后在服务端引入下面的代码即可使用:

<?php
/**
 * Created by 冷月小白.
 * 微信公众号: 学长冷月
 */
public static function image()
    {
        if (empty($_FILES['file']['tmp_name'])) {
            exception('您提交的图片不合法', 404);
        }
        //选择要上传的文件
        $file = $_FILES['file']['tmp_name'];

        //拿到上传文件的格式
        $pathinfo = pathinfo($_FILES['file']['name']);
        $ext = $pathinfo['extension'];
		//拿到配置文件中的 ak sk 实例名字和测试域名
        $config = config('qiniu');
        //构建一个鉴权对象
        $auth = new Auth($config['ak'], $config['sk']);
        //生成上传token
        $token = $auth->uploadToken($config['bucket']);
        //上传后的文件名
        $key = md5(time()) . '.' . $ext;

        //初始化图片上传类
        $uploadMgr = new UploadManager();
        $res = $uploadMgr->putFile($token, $key, $file);

        if ($res[1] !== NULL) {
            return "图片上次失败";
        } else {
            return $key;
        }
        ?>

如果这篇博文有帮助到您,可以帮冷月点一个赞或者加一个关注哦!

欢迎关注我的公众号:学长冷月,获得独家整理的学习资源和日常干货推送。 如果您对我的专题内容感兴趣,也可以关注我的博客:guoyu7.com

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!