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

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

作者: 学长冷月 | 来源:发表于2020-02-25 22:09 被阅读0次

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

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

进入个人中心,点击秘钥管理。记住你的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

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/jdnqchtx.html