ホームページ >バックエンド開発 >PHPチュートリアル >PHP はオープンソースの Qiniu Cloud SDK を実装します

PHP はオープンソースの Qiniu Cloud SDK を実装します

PHPz
PHPzオリジナル
2023-06-18 18:30:161638ブラウズ

クラウド コンピューティング テクノロジーの発展に伴い、クラウド ストレージ サービスに依存するアプリケーションがますます増えており、Qiniu Cloud は人気のあるクラウド ストレージ サービス プロバイダーの 1 つです。 Qiniu Cloud サービスを利用する場合、データのアップロードやファイル管理などの操作を Qiniu Cloud サービスが提供する SDK を利用する必要がありますが、PHP で実装された Qiniu Cloud SDK も開発者から注目を集めています。この記事では、PHP を使用して Qiniu Cloud SDK を実装する方法と、PHP を使用してファイルをアップロードおよび管理する方法を紹介します。

  1. Qiniu Cloud SDK のインストールと構成

Qiniu Cloud SDK の使用を開始する前に、まずそれをプロジェクトにインストールする必要があります。最も一般的なインストール方法は、Composer を使用し、プロジェクトのルート ディレクトリで次のコマンドを実行することです。

composer require qiniu/php-sdk

Composer は、SDK の依存関係をプロジェクトに自動的に追加し、関連ファイルをダウンロードします。

Qiniu Cloud SDK をプロジェクトに正常にインストールしたら、使用できるように構成する必要があります。 Qiniu Cloud SDK を使用する場合、バケット名、ドメイン名、その他の情報に加えて、認証にアクセス キーとシークレット キーを使用する必要があります。プロジェクト構成ファイルで次の定数を定義することで、SDK を構成できます:

<?php
// 七牛云Access Key
define('QINIU_ACCESS_KEY', 'your access key here');

// 七牛云Secret Key
define('QINIU_SECRET_KEY', 'your secret key here');

// 默认Bucket名称
define('QINIU_BUCKET', 'your bucket name here');

// 默认Bucket对应的域名
define('QINIU_DOMAIN', 'your bucket domain here');
  1. ファイルのアップロード

Qiniu Cloud SDK を使用してファイルをアップロードするのは非常に簡単です。必要なだけです。数行のコードで実行できます。 Qiniu Cloud SDK は 2 つのメソッドを提供します: QiniuUploadManagerputFileQiniuStorageUploadManagerput メソッドです。この記事では、アップロードに putFile メソッドを使用します。

次のコードを PHP ファイルに追加して、ファイル アップロード機能を実装します。

<?php
require_once __DIR__ . '/vendor/autoload.php';   // 引入SDK自动加载文件
 
use QiniuAuth;
use QiniuStorageUploadManager;
 
$auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY);
$bucket = QINIU_BUCKET;
 
$uploadMgr = new UploadManager();
 
// 调用 UploadManager 的 putFile 方法进行文件上传
list($ret, $err) = $uploadMgr->putFile($auth->uploadToken($bucket), 'filename', '/path/to/local/file');

このうち、2 番目のパラメータ filename は Qiniu Cloud にアップロードされたファイルの名前で、3 番目のパラメータ /path/to/local/file はローカルファイルパス。アップロード後、$ret 変数には Qiniu Cloud のファイル情報が含まれ、$err 変数にはエラー情報が含まれます。これらの変数は、デバッグやエラー チェックのために出力できます。

  1. ファイル管理

Qiniu Cloud SDK は、非常に便利なファイル管理機能も提供します。 QiniuStorageBucketManager クラスで提供される一連のメソッドを通じて、ファイルに対するクエリ、取得、削除、その他の操作を行うことができます。コード例を次に示します。

すべてのファイルをクエリする:

<?php
require_once __DIR__ . '/vendor/autoload.php';   // 引入SDK自动加载文件
 
$accessKey = QINIU_ACCESS_KEY;
$secretKey = QINIU_SECRET_KEY;
$bucket = QINIU_BUCKET;
 
$auth = new QiniuAuth($accessKey, $secretKey);
$config = new QiniuConfig();
$config->useHttpsDomain = true;
$config->useCdnDomain = true;
 
$bucketManager = new QiniuStorageBucketManager($auth, $config);
list($iterms, $marker, $Err) = $bucketManager->listFiles($bucket, null, null, 1000, '');
 
if ($Err !== null) {
    die("query files failed: " . $Err->message());
}
 
var_dump($iterms);

その中で、listFiles メソッドを使用して、指定されたバケット内のすべてのファイルをクエリします。 ##$bucket はバケット名、$marker はマーク、$limit は毎回返されるレコードの数、$prefixファイルのプレフィックスです。

指定したファイルの情報を取得する:

<?php
require_once __DIR__ . '/vendor/autoload.php';   // 引入SDK自动加载文件
 
use QiniuAuth;
use QiniuStorageBucketManager;
 
$auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY);
$bucket = QINIU_BUCKET;
 
$bucketMgr = new BucketManager($auth);
list($ret, $err) = $bucketMgr->stat($bucket, 'filename');
 
if ($err !== null) {
    die("get file info failed: " . $err->message());
}
 
var_dump($ret);

このうち、

statメソッドは、Qiniu Cloud上の指定したファイルの詳細情報を取得するために使用されます。

指定されたファイルを削除する:

<?php
require_once __DIR__ . '/vendor/autoload.php';   // 引入SDK自动加载文件
 
use QiniuAuth;
use QiniuStorageBucketManager;
 
$auth = new Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY);
$bucket = QINIU_BUCKET;
 
$bucketMgr = new BucketManager($auth);
list($ret, $err) = $bucketMgr->delete($bucket, 'filename');
 
if ($err !== null) {
    die("delete file failed: " . $err->message());
}
 
echo "Delete file success:" . PHP_EOL;
var_dump($ret);

このうち、

delete メソッドは、指定されたバケット内の指定されたファイルを削除するために使用されます。

上記は、PHP を使用して Qiniu Cloud SDK を実装するための基本的な内容です。 Qiniu Cloud SDK を使用すると、クラウド ストレージ サービスの開発と管理が大幅に簡素化され、アプリケーションのビジネス ロジックにより集中できるようになります。

以上がPHP はオープンソースの Qiniu Cloud SDK を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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