Maison  >  Article  >  développement back-end  >  PHP implémente le SDK Qiniu Cloud open source

PHP implémente le SDK Qiniu Cloud open source

PHPz
PHPzoriginal
2023-06-18 18:30:161584parcourir

Avec le développement de la technologie du cloud computing, de plus en plus d'applications ont commencé à s'appuyer sur les services de stockage cloud. Qiniu Cloud est l'un des fournisseurs de services de stockage cloud les plus populaires. Lors de l'utilisation des services Qiniu Cloud, nous devons utiliser le SDK qu'ils fournissent pour effectuer des opérations telles que le téléchargement de données et la gestion de fichiers. Le SDK Qiniu Cloud implémenté en PHP a également attiré beaucoup d'attention de la part des développeurs. Cet article explique comment utiliser PHP pour implémenter le SDK Qiniu Cloud et comment l'utiliser pour télécharger et gérer des fichiers.

  1. Installer et configurer le SDK Qiniu Cloud

Avant de commencer à utiliser le SDK Qiniu Cloud, nous devons d'abord l'installer dans notre projet. La méthode d'installation la plus courante consiste à utiliser Composer et à exécuter la commande suivante dans le répertoire racine du projet :

composer require qiniu/php-sdk

Composer ajoutera automatiquement les dépendances du SDK au projet et téléchargera les fichiers pertinents.

Après avoir installé avec succès le SDK Qiniu Cloud dans le projet, nous devons le configurer pour l'utiliser. Lorsque vous utilisez le SDK Qiniu Cloud, vous devez utiliser la clé d'accès et la clé secrète pour l'authentification, ainsi que le nom du bucket, le nom de domaine et d'autres informations. Nous pouvons configurer le SDK en définissant les constantes suivantes dans le fichier de configuration du projet :

<?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. Téléchargement de fichiers

L'utilisation du SDK Qiniu Cloud pour implémenter le téléchargement de fichiers est très simple et ne nécessite que quelques lignes de code. Qiniu Cloud SDK fournit deux méthodes : putFile dans QiniuUploadManager et la méthode put dans QiniuStorageUploadManager. Dans cet article, la méthode putFile est utilisée pour le téléchargement. QiniuUploadManager中的putFileQiniuStorageUploadManager中的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');

其中,第二个参数filename是上传到七牛云中的文件名称,第三个参数/path/to/local/file是本地文件路径。上传后,$ret变量中将包含七牛云中的文件信息,而$err变量则包含错误信息。我们可以通过打印这些变量来进行调试和查错。

  1. 文件管理

七牛云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下的所有文件,其中$bucket为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方法用于获取指定文件在七牛云上的详细信息。

删除指定文件:

<?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

Ajoutez le code suivant à votre fichier PHP pour implémenter la fonction de téléchargement de fichiers.

rrreee

Parmi eux, le deuxième paramètre filename est le nom du fichier téléchargé sur Qiniu Cloud, et le troisième paramètre /path/to/local/file est le nom local chemin du fichier. Après le téléchargement, la variable $ret contiendra les informations sur le fichier dans Qiniu Cloud, tandis que la variable $err contiendra les informations d'erreur. Nous pouvons imprimer ces variables pour le débogage et la vérification des erreurs. 🎜
    🎜Gestion de fichiers🎜🎜🎜Qiniu Cloud SDK fournit également des fonctions de gestion de fichiers très pratiques. Nous pouvons interroger, obtenir, supprimer et autres opérations sur les fichiers grâce à un ensemble de méthodes fournies dans la classe QiniuStorageBucketManager. Voici un exemple de code : 🎜🎜 Interroger tous les fichiers : 🎜rrreee🎜 Parmi eux, la méthode listFiles est utilisée pour interroger tous les fichiers du bucket spécifié, où $bucket est le nom du bucket, $marker est la marque, $limit est le nombre d'enregistrements renvoyés à chaque fois et $prefix est le préfixe du fichier. . 🎜🎜Obtenir les informations sur le fichier spécifié : 🎜rrreee🎜Parmi elles, la méthode stat est utilisée pour obtenir les informations détaillées du fichier spécifié sur Qiniu Cloud. 🎜🎜Supprimer le fichier spécifié : 🎜rrreee🎜Parmi elles, la méthode delete est utilisée pour supprimer le fichier spécifié dans le bucket spécifié. 🎜🎜Ce qui précède présente quelques contenus de base sur l'utilisation de PHP pour implémenter le SDK Qiniu Cloud. J'espère que cela sera utile à tout le monde. L'utilisation de Qiniu Cloud SDK peut grandement simplifier le développement et la gestion des services de stockage cloud, nous permettant de nous concentrer davantage sur la logique métier de l'application. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn