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

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

Jun 20, 2023 pm 01:32 PM
thinkphpチュートリアルQiniu クラウド ストレージ

クラウド コンピューティング テクノロジの継続的な開発と最適化により、クラウド ストレージはますます多くの企業や個人が選択するストレージ方法になりました。中でも 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 までご連絡ください。
ThinkPHPの組み込みテストフレームワークの主な機能は何ですか?ThinkPHPの組み込みテストフレームワークの主な機能は何ですか?Mar 18, 2025 pm 05:01 PM

この記事では、ThinkPHPの組み込みテストフレームワークについて説明し、ユニットや統合テストなどの主要な機能と、早期のバグ検出とコード品質の向上を通じてアプリケーションの信頼性を高める方法について強調しています。

リアルタイムの株式市場データフィードを構築するためにThinkPhpを使用する方法は?リアルタイムの株式市場データフィードを構築するためにThinkPhpを使用する方法は?Mar 18, 2025 pm 04:57 PM

記事では、リアルタイムの株式市場データフィードにThinkPhpを使用して、セットアップ、データの正確性、最適化、セキュリティ対策に焦点を当てて説明します。

サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか?サーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項は何ですか?Mar 18, 2025 pm 04:54 PM

この記事では、パフォーマンスの最適化、ステートレス設計、セキュリティに焦点を当てたサーバーレスアーキテクチャでThinkPhpを使用するための重要な考慮事項について説明します。コスト効率やスケーラビリティなどの利点を強調しますが、課題にも対処します

ThinkPhpマイクロサービスでサービスの発見と負荷分散を実装する方法は?ThinkPhpマイクロサービスでサービスの発見と負荷分散を実装する方法は?Mar 18, 2025 pm 04:51 PM

この記事では、セットアップ、ベストプラクティス、統合方法、および推奨ツールに焦点を当てたThinkPhpマイクロサービスにサービスの発見と負荷分散の実装について説明します。[159文字]。

ThinkPhpの依存関係噴射コンテナの高度な機能は何ですか?ThinkPhpの依存関係噴射コンテナの高度な機能は何ですか?Mar 18, 2025 pm 04:50 PM

ThinkPHPのIOCコンテナは、PHPアプリで効率的な依存関係管理のための怠zyなロード、コンテキストバインディング、メソッドインジェクションなどの高度な機能を提供します。

リアルタイムのコラボレーションツールを構築するためにThinkPhpを使用する方法は?リアルタイムのコラボレーションツールを構築するためにThinkPhpを使用する方法は?Mar 18, 2025 pm 04:49 PM

この記事では、ThinkPhpを使用してリアルタイムのコラボレーションツールを構築し、セットアップ、Websocket統合、セキュリティベストプラクティスに焦点を当てて説明します。

SaaSアプリケーションを構築するためにThinkPhpを使用することの主な利点は何ですか?SaaSアプリケーションを構築するためにThinkPhpを使用することの主な利点は何ですか?Mar 18, 2025 pm 04:46 PM

ThinkPhpは、軽量のデザイン、MVCアーキテクチャ、および拡張性を備えたSaaSアプリに利益をもたらします。スケーラビリティを向上させ、開発を速め、さまざまな機能を通じてセキュリティを改善します。

ThinkPhpとRabbitmqを使用して分散タスクキューシステムを構築する方法は?ThinkPhpとRabbitmqを使用して分散タスクキューシステムを構築する方法は?Mar 18, 2025 pm 04:45 PM

この記事では、ThinkPhpとRabbitMQを使用して分散タスクキューシステムの構築を概説し、インストール、構成、タスク管理、およびスケーラビリティに焦点を当てています。重要な問題には、Immedのような一般的な落とし穴を避けるための高可用性の確保が含まれます

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。