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();
}
}