1、准备工作
注册七牛云账号,可以有免费的10G储存空间。
到 个人中心-密钥管理 查看 AccessKey 和 SecretKey。
2、SDK 下载
命令行进入到项目根目录,使用 composer 下载文件。
下载成功会在 vendor 目录下多出一个 qiniu 目录。
composer require qiniu/php-sdk
3、控制器代码
<?php
namespace app\admin\controller;
vendor('../../../vendor/qiniu/php-sdk/autoload.php');
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
class Test
{
private $accessKey =""; // 你的 AccessKey
private $secretKey = ""; // 你的 SecretKey
private $bucket = ""; // 你在七牛云创建的空间名称
// 图片上传七牛云
public function uploadToQiniu()
{
if (request()->isPost()) {
$file = $_FILES['file'];
// 截取后缀名
$ext = strchr($file['name'], '.');
// 构建鉴权对象
$auth = new Auth($this->accessKey, $this->secretKey);
// 生成上传 Token
$token = $auth->uploadToken($this->bucket);
// 要上传文件的本地路径
$filePath = $file['tmp_name'];
// 上传到七牛后保存的文件名
$key = time().uniqid().$ext;
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if ($err !== null) {
return $err; // 失败
} else {
return $key; // 成功,$key 就是在七牛云的文件名,加上你在七牛云的外链地址就可以访问到文件
}
}
return view();
}
}