ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP6 で Qiniu クラウド ストレージを使用する方法

ThinkPHP6 で Qiniu クラウド ストレージを使用する方法

WBOY
WBOYオリジナル
2023-06-20 13:32:522321ブラウズ

クラウド コンピューティング テクノロジの継続的な開発と最適化により、クラウド ストレージはますます多くの企業や個人が選択するストレージ方法になりました。中でも Qiniu Cloud Storage は、その高信頼性、高可用性、コストパフォーマンスの高さから大多数のユーザーに支持されています。では、ThinkPHP6 で Qiniu Cloud Storage を使用するにはどうすればよいでしょうか?この記事では詳しく紹介していきます。

1. Qiniu Cloud アカウントを登録し、ストレージ スペースを作成します

まず、Qiniu Cloud 公式 Web サイトにアクセスしてアカウントを登録する必要があります。登録が成功したら、「オブジェクト ストレージ」ページで独自のストレージ スペースを作成できます。なお、サービスのセキュリティを確保するため、ストレージスペースのパブリックモードを「プライベート」に設定することをお勧めします。

2. Qiniu Cloud SDK のインストール

Qiniu Cloud Storage を使用する前に、まず Qiniu Cloud SDK をインストールする必要があります。 Composer を介してインストールし、ターミナルで次のコードを実行できます:

composer require qiniu/php-sdk

インストールが完了したら、config/autoload.php ファイルに追加する必要があります:

'Qiniu' => 'Qiniu\Auth::autoload'

3. Qiniu Cloud アカウント情報の構成

ThinkPHP6 では、config ディレクトリ内のファイルを通じて関連する構成を行うことができます。 config の下に新しいファイルを作成し、「qiniu.php」という名前を付けます。このファイルでは、次の設定を実行する必要があります:

return [
    'accessKey' => '此处填写您的AccessKey',
    'secretKey' => '此处填写您的SecretKey',
    'bucket' => '此处填写您的存储空间名称',
    'domain' => '此处填写您的存储空间的外链域名'
];

このうち、AccessKey と SecretKey は Qiniu Cloud アカウントのキー情報であり、パーソナル センターのキー管理で見つけることができます。バケットはストレージスペースの名前。ドメインはストレージスペースの外部リンクドメイン名です。もちろん、実際に使用する場合は、これらの情報をすべて独自の情報に置き換える必要があります。

4. Qiniu Cloud へのファイルのアップロード

上記の作業が完了したら、プログラムで Qiniu Cloud ストレージの使用を開始できます。 「demo.jpg」という名前の画像をアップロードする必要があるとします。コードは次のように記述できます。

use QiniuAuth;
use QiniuStorageUploadManager;

class Demo
{
    public function upload()
    {
        $accessKey = config('qiniu.accessKey');
        $secretKey = config('qiniu.secretKey');
        $auth = new Auth($accessKey, $secretKey);
        $bucket = config('qiniu.bucket');
        
        $uploadManager = new UploadManager();
        
        $file = '此处填写您要上传的文件路径';
        $key = '此处填写您上传文件在七牛云上的文件名';
        
        $token = $auth->uploadToken($bucket);
        list($ret, $error) = $uploadManager->putFile($token, $key, $file);

        if ($error !== null) {
            return '上传失败';
        } else {
            return '上传成功';
        }
    }
}

ファイルをアップロードするときは、まず AccessKey と SecretKey を使用して認証コードを生成する必要があります。 use UploadManager の putFile メソッドは、ファイルを Qiniu Cloud にアップロードします。このうち、$file はローカル ファイルのパス、$key はファイルが Qiniu Cloud にアップロードされた後のファイル名です。アップロード結果は$retと$errorで返されるので、$errorがnullかどうかでアップロードが成功したかどうかを判断できます。

5. 外部リンクを使用してアップロードされたファイルにアクセスする

ファイルを Qiniu Cloud にアップロードした後、他の Web サイト上のファイルにアクセスするための外部リンクを提供する必要があります。次のコードを使用して外部リンクを生成できます。

use QiniuAuth;

class Demo
{
    public function getURL()
    {
        $accessKey = config('qiniu.accessKey');
        $secretKey = config('qiniu.secretKey');
        $auth = new Auth($accessKey, $secretKey);
        
        $bucket = config('qiniu.bucket');
        $domain = config('qiniu.domain');
       
        $fileName = '此处填写您要访问的文件名';
        $baseUrl = 'http://' . $domain . '/' . $fileName;
       
        $signedUrl = $auth->privateDownloadUrl($baseUrl);
        
        return $signedUrl;
    }
}

外部リンクを生成するときは、必要な AccessKey、SecretKey、およびファイル名を渡す必要があります。 $auth->privateDownloadUrl($baseUrl) メソッドを使用して外部リンクを取得する場合、まずファイルが属するスペースが「プライベート」モードかどうかを確認し、次にそのキーを使用して署名します。最終的に生成される外部リンクは、$signedUrl 変数に格納されるアドレスです。このアドレスをブラウザで開くと、Qiniu Cloud に保存されているファイルにアクセスできます。

概要:

上記は、ThinkPHP6 で Qiniu Cloud Storage を使用する方法です。 Qiniu Cloud Storage を通じて、ファイルをクラウドにアップロードして、データの効率的な保存と送信を実現できます。実際の使用では、データのセキュリティを確保するために、ストレージ領域のアクセス許可を合理的に設定する必要があります。この記事が皆さんのお役に立てば幸いです。

以上がThinkPHP6 で Qiniu クラウド ストレージを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。