Maison >développement back-end >tutoriel php >PHP implémente le SDK Qiniu Cloud open source
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.
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');
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
中的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');
其中,第二个参数filename
是上传到七牛云中的文件名称,第三个参数/path/to/local/file
是本地文件路径。上传后,$ret
变量中将包含七牛云中的文件信息,而$err
变量则包含错误信息。我们可以通过打印这些变量来进行调试和查错。
七牛云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
rrreee
Parmi eux, le deuxième paramètrefilename
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. 🎜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!