クラウド コンピューティング テクノロジーの発展に伴い、クラウド ストレージ サービスに依存するアプリケーションがますます増えており、Qiniu Cloud は人気のあるクラウド ストレージ サービス プロバイダーの 1 つです。 Qiniu Cloud サービスを利用する場合、データのアップロードやファイル管理などの操作を Qiniu Cloud サービスが提供する SDK を利用する必要がありますが、PHP で実装された Qiniu Cloud SDK も開発者から注目を集めています。この記事では、PHP を使用して Qiniu Cloud SDK を実装する方法と、PHP を使用してファイルをアップロードおよび管理する方法を紹介します。
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');
Qiniu Cloud SDK を使用してファイルをアップロードするのは非常に簡単です。必要なだけです。数行のコードで実行できます。 Qiniu Cloud SDK は 2 つのメソッドを提供します: QiniuUploadManager
の putFile
と QiniuStorageUploadManager
の put
メソッドです。この記事では、アップロードに 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
変数にはエラー情報が含まれます。これらの変数は、デバッグやエラー チェックのために出力できます。
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 を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。