携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情
使用背景
打算自己开发一个小程序,小程序获取用户信息的时候,微信会返回用户头像和用户昵称,本想拿着微信的url直接用,但是经过了解发现即使用户不修改头像,这个路径也是会变的,这就导致微信的url无法使用,因为不可能头像失效后就再次要求用户登录,这样体验感不好。于是就想着用七牛云来实现存储用户头像,找到七牛云的文档,发现不是特别完善,对新手来说,还是有点麻烦的,于是就写下这篇文章。(我PHP使用的是thinkPHP6 使用5也是可以的)
前期准备
- 注册七牛云账号
- 开通对象存储功能
- 创建空间
- 获取AccessKey/SecretKey 完成上面的步骤后,访问七牛云个人中心获取秘钥,如下图所示:
下载PHP SDK
下载地址:PHP SDK下载地址,我们根据文档提示下载好sdk,建议使用 Composer 下载,大家应该都有这个下载工具,没有的进入官网下载即可。下载完SDK后在 vendor 文件夹下有个 autoload.php 文件,这样就可以了。
php 代码
<?php
namespace app\controller;
use app\BaseController;
require '../vendor/autoload.php';
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
class Index extends BaseController
{
public function index()
{
$auth = new Auth('your AccessKey','your ');
// 要上传的空间位置
$token = $auth->uploadToken('你存储空间的名字');
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
list($ret , $err) = $uploadMgr->putFile($token , '图片名字' , '图片url');
return 'Upfile';
}
public function hello($name = 'ThinkPHP6')
{
return 'hello,' . $name;
}
}
最后效果
总结
七牛云的对象存储其实使用起来很简单,就是一些配置写的不是很清楚,需要自己实践一遍。七牛云标准存储每月免费空间是每个月10G的流量,对于学生和个人开发体验的人来说是非常友好的,基本都够用。使用起来也比较方便,对于我小程序的流量来说,基本可以白嫖。