現在の位置: ホーム> 最新記事一覧> thinkphp6統合されたqiniuクラウドストレージを実装してファイルアップロードチュートリアルを実装する

thinkphp6統合されたqiniuクラウドストレージを実装してファイルアップロードチュートリアルを実装する

gitbox 2025-06-27

Qiniu Cloud Storage SDKの紹介

ThinkPhp6にQiniuクラウドストレージを統合する最初のステップは、Qiniuが提供するPHP SDKを導入することです。 Composer.jsonファイルに次の依存関係を追加できます。

 
"require": {
    "qiniu/php-sdk": "^7.3"
}

追加が完了したら、次のコマンドを実行して依存関係を更新します。

 
composer update

Qiniuクラウドストレージ情報を構成します

次に、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ストレージを使用することにより、開発者はクラウド管理とファイルのアクセスを簡単に実装し、アプリケーションの信頼性とユーザーエクスペリエンスを向上させることができます。