ThinkPhp6にQiniuクラウドストレージを統合する最初のステップは、Qiniuが提供するPHP SDKを導入することです。 Composer.jsonファイルに次の依存関係を追加できます。
"require": {
"qiniu/php-sdk": "^7.3"
}
追加が完了したら、次のコマンドを実行して依存関係を更新します。
composer update
次に、Qiniu Cloudのアカウント情報と関連する構成を保存するために使用されるThinkPhp6の構成ディレクトリにQiniu.phpという名前の構成ファイルを作成する必要があります。
return [
'accessKey' => 'your-access-key',
'secretKey' => 'your-secret-key',
'bucket' => 'your-bucket',
// その他の構成アイテム...
];
コントローラーでは、Qiniuが提供するアップロードマネージャーと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>
このフォームは、ポストリクエストを通じて処理するためにコントローラーにファイルを送信し、フロントエンドとバックエンドのファイルアップロード関数を実現します。
この記事では、SDKの導入、構成ファイルの書き込み、ロジック実装のアップロード、フロントエンドフォーム設計など、QiniuクラウドストレージをThinkPhp6に統合する完全なプロセスを紹介します。 Qiniu Cloudストレージを使用することにより、開発者はクラウド管理とファイルのアクセスを簡単に実装し、アプリケーションの信頼性とユーザーエクスペリエンスを向上させることができます。