在ThinkPHP6中集成七牛雲存儲的第一步是引入七牛官方提供的PHP SDK。您可以在composer.json文件中添加如下依賴:
"require": {
"qiniu/php-sdk": "^7.3"
}
添加完成後執行以下命令更新依賴:
composer update
接下來需要在ThinkPHP6 的config目錄下創建一個名為qiniu.php的配置文件,用於存放七牛雲的賬戶信息與相關配置:
return [
'accessKey' => 'your-access-key',
'secretKey' => 'your-secret-key',
'bucket' => 'your-bucket',
// 其他配置項...
];
在控制器中,我們可以利用七牛提供的UploadManager和Auth類來完成文件上傳操作。以下是一個上傳文件的示例代碼:
use Qiniu\Storage\UploadManager;
use Qiniu\Auth;
class QiniuController extends Controller
{
public function upload()
{
$file = $_FILES['file']['tmp_name'];
$accessKey = config('qiniu.accessKey');
$secretKey = config('qiniu.secretKey');
$auth = new Auth($accessKey, $secretKey);
$token = $auth->uploadToken(config('qiniu.bucket'));
$uploadMgr = new UploadManager();
$key = null; // 自動生成文件名
list($ret, $err) = $uploadMgr->putFile($token, $key, $file);
if ($err !== null) {
echo '上傳失敗';
} else {
echo '上傳成功';
}
}
}
為了讓用戶在前端頁面選擇文件並進行上傳,可以在視圖中加入一個基本的上傳表單:
<form action="/qiniu/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">上傳文件</button>
</form>
該表單通過POST 請求將文件發送至控制器處理,實現前後端的文件上傳功能。
本文介紹了在ThinkPHP6 中集成七牛雲存儲的完整流程,包括SDK 引入、配置文件編寫、上傳邏輯實現以及前端表單設計。通過使用七牛雲存儲,開發者可以輕鬆實現文件的雲端管理和訪問,提升應用的可靠性和用戶體驗。