PHP が Tencent Cloud Object Storage Service に接続して画像アップロード機能を実装する方法

PHPz
リリース: 2023-07-05 21:18:02
オリジナル
2007 人が閲覧しました

PHP が Tencent Cloud Object Storage Service に接続して画像アップロード機能を実装する方法

はじめに:
インターネットの急速な発展に伴い、ファイルのアップロードが必要なアプリケーションがますます増えています。その中で最も一般的なのは次のとおりです。画像アップロード機能。高可用性、高信頼性、高性能の画像アップロード サービスを提供するために、多くの開発者はクラウド ストレージ サービスの使用を選択します。 Tencent Cloud は、Object Storage (COS) と呼ばれるクラウド ストレージ サービスを提供していますが、この記事では、PHP 言語を使用して Tencent Cloud Object Storage Service に接続し、画像アップロード機能を実装する方法を紹介します。

1. Tencent Cloud API キーの取得
Tencent Cloud オブジェクト ストレージ サービスを使用する前に、まず Tencent Cloud API キーを取得する必要があります。キーを取得する具体的な手順は次のとおりです。

  1. Tencent Cloud 公式 Web サイト (https://cloud.tencent.com/) にログインします。
  2. 「Console」と入力し、「Object Storage COS」をクリックして COS コンソールに入ります。
  3. COS コンソールで、左側のナビゲーション バーの [アクセス管理] - [API キー管理] を選択します。ここで SecretId と SecretKey を取得できます。これらは後続のコードでの認証に使用されます。

2. ディレクトリ構造の準備
コードを書き始める前に、プロジェクトのディレクトリ構造を準備する必要があります。単純なディレクトリ構造は次のようになります:

  • project

    • index.php
    • cos-php-sdk-v5

      • src

        • Qcloud

          • Cos

            • CosClient.php
    • #upload

        upload.php
その内:

    index.php は、画像アップロード インターフェイスを表示するために使用されるファイルです。
  • cos-php -sdk-v5 は、Tencent Cloud によって正式に提供される PHP SDK で、Tencent Cloud オブジェクト ストレージ サービスと対話するために使用されます。
  • upload ディレクトリは、アップロードされた画像を保存するために使用されます。
  • upload.php は、アップロードされた画像を処理するために使用される背景コード。
3. PHP SDK のインストール

Tencent Cloud Object Storage Service を使用するには、PHP SDK をダウンロードしてインストールする必要があります。最新バージョンは、Tencent Cloud の公式 GitHub リポジトリ (https://github.com/tencentyun/cos-php-sdk-v5) からダウンロードできます。

ダウンロードした圧縮パッケージを解凍し、「src」フォルダーをプロジェクト ディレクトリ内の「cos-php-sdk-v5」フォルダーにコピーします。プロジェクト ディレクトリ構造は次のとおりです。

  • プロジェクト

      index.php
    • cos-php-sdk-v5

      • src

        • Qcloud

          • Cos

              CosClient.php
    • upload
    • upload.php
  • # #4. フロントエンド コードを作成する
次に、フロントエンド コードの作成を開始します。 Index.php ファイルでは、HTML と CSS を使用して、単純な画像アップロード インターフェイスを設計できます。




<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传" name="submit">
ログイン後にコピー



ファイルフォームでは、ファイルアップロードリクエストのアドレスを「upload/upload.php」に設定します。このアドレスは、画像のアップロードを処理するコードビハインドによって使用されます。

5. バックグラウンド コードの記述

upload.php ファイルに、Tencent Cloud Object Storage Service に接続して画像をアップロードするためのコードを記述する必要があります。具体的なコードは次のとおりです:


require_once '../cos-php-sdk-v5/src/Qcloud/Cos/CosClient.php';


QcloudCosCosClient を使用します;

// Tencent Cloud API キー

$secretId = 'your-secret-id';

$secretKey = 'your-secret-key';

/ / COS サービス構成

$bucket = 'your-bucket-name';

$region = 'your-bucket-region';

// CosClient のインスタンス化

$cosClient = new CosClient ([

'region' => $region,
'credentials' => [
    'secretId' => $secretId,
    'secretKey' => $secretKey
]
ログイン後にコピー

]);

// 画像のアップロードを処理します

if ($_FILES'fileToUpload' === UPLOAD_ERR_OK) {

$key = '/upload/' . $_FILES['fileToUpload']['name'];
$localPath = $_FILES['fileToUpload']['tmp_name'];

try {
    $result = $cosClient->putObject([
        'Bucket' => $bucket,
        'Key' => $key,
        'Body' => fopen($localPath, 'rb')
    ]);

    echo '图片上传成功,访问URL为:' . $result['ObjectURL'];
} catch (Exception $e) {
    echo '图片上传失败,错误信息:' . $e->getMessage();
}
ログイン後にコピー

} else {

echo '图片上传失败,错误码:' . $_FILES['fileToUpload']['error'];
ログイン後にコピー

}

?>


そのうち、置き換える必要がある部分は次のとおりです:

$secretId: Tencent Cloud API に置き換えます。 key SecretId in;
  • $secretKey: Tencent Cloud API キーの SecretKey に置き換えます;
  • $bucket: Tencent Cloud COS サービスのバケット名に置き換えます;
  • $region: Tencent Cloud COS サービスのバケットが配置されているリージョンに置き換えます。
  • 6. テストを実行します
プロジェクト全体を Web サーバーにデプロイし、ブラウザでindex.php ファイルにアクセスして、画像をアップロードするためのインターフェイスを確認します。 「ファイルを選択」ボタンをクリックして画像ファイルを選択し、「アップロード」ボタンをクリックして画像を Tencent Cloud Object Storage Service にアップロードします。


概要:

上記の手順により、PHP 言語を使用して Tencent Cloud Object Storage Service に接続し、画像アップロード機能を実装することができました。クラウドストレージサービスにより、さまざまな用途に応じた可用性と信頼性の高い画像アップロードサービスを提供します。もちろん、画像のアップロードに加えて、Tencent Cloud Object Storage Service は他のファイルタイプのアップロードとダウンロードもサポートしており、特定のニーズに応じて拡張できます。

以上がPHP が Tencent Cloud Object Storage Service に接続して画像アップロード機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート