Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert das Open-Source-Qiniu-Cloud-SDK

PHP implementiert das Open-Source-Qiniu-Cloud-SDK

PHPz
PHPzOriginal
2023-06-18 18:30:161608Durchsuche

Mit der Entwicklung der Cloud-Computing-Technologie verlassen sich immer mehr Anwendungen auf Cloud-Speicherdienste. Qiniu Cloud ist einer der beliebtesten Cloud-Speicherdienstanbieter. Bei der Nutzung von Qiniu Cloud-Diensten müssen wir das von ihnen bereitgestellte SDK verwenden, um Vorgänge wie das Hochladen von Daten und die Dateiverwaltung abzuschließen. Das in PHP implementierte Qiniu Cloud SDK hat auch bei Entwicklern große Aufmerksamkeit erregt. In diesem Artikel erfahren Sie, wie Sie PHP zur Implementierung des Qiniu Cloud SDK verwenden und wie Sie es zum Hochladen und Verwalten von Dateien verwenden.

  1. Installieren und konfigurieren Sie das Qiniu Cloud SDK

Bevor wir mit der Verwendung des Qiniu Cloud SDK beginnen, müssen wir es zuerst in unserem Projekt installieren. Die gebräuchlichste Installationsmethode besteht darin, Composer zu verwenden und den folgenden Befehl im Projektstammverzeichnis auszuführen:

composer require qiniu/php-sdk

Composer fügt dem Projekt automatisch die SDK-Abhängigkeiten hinzu und lädt die relevanten Dateien herunter.

Nachdem wir das Qiniu Cloud SDK erfolgreich im Projekt installiert haben, müssen wir es für die Verwendung konfigurieren. Wenn Sie Qiniu Cloud SDK verwenden, müssen Sie den Zugriffsschlüssel und den geheimen Schlüssel zur Authentifizierung sowie den Bucket-Namen, den Domänennamen und andere Informationen verwenden. Wir können das SDK konfigurieren, indem wir die folgenden Konstanten in der Konfigurationsdatei des Projekts definieren:

<?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. Datei-Upload

Die Verwendung des Qiniu Cloud SDK zum Implementieren des Datei-Uploads ist sehr einfach und erfordert nur wenige Codezeilen. Das Qiniu Cloud SDK bietet zwei Methoden: putFile in QiniuUploadManager und die put-Methode in QiniuStorageUploadManager. In diesem Artikel wird die Methode putFile zum Hochladen verwendet. 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

Fügen Sie den folgenden Code zu Ihrer PHP-Datei hinzu, um die Datei-Upload-Funktion zu implementieren.

rrreee

Unter diesen ist der zweite Parameter filename der Name der in Qiniu Cloud hochgeladenen Datei und der dritte Parameter /path/to/local/file ist der lokale Dateipfad. Nach dem Hochladen enthält die Variable $ret die Dateiinformationen in Qiniu Cloud, während die Variable $err Fehlerinformationen enthält. Wir können diese Variablen zum Debuggen und zur Fehlerprüfung ausdrucken. 🎜
    🎜Dateiverwaltung🎜🎜🎜Qiniu Cloud SDK bietet auch sehr praktische Dateiverwaltungsfunktionen. Mithilfe einer Reihe von Methoden, die in der Klasse QiniuStorageBucketManager bereitgestellt werden, können wir Dateien abfragen, abrufen, löschen und andere Vorgänge ausführen. Das Folgende ist ein Beispielcode: 🎜🎜 Alle Dateien abfragen: 🎜rrreee🎜 Unter anderem wird die Methode listFiles verwendet, um alle Dateien unter dem angegebenen Bucket abzufragen, wobei $bucket ist ist der Bucket-Name, $marker ist die Markierung, $limit ist die Anzahl der jedes Mal zurückgegebenen Datensätze und $prefix ist das Dateipräfix . 🎜🎜Rufen Sie die angegebenen Dateiinformationen ab: 🎜rrreee🎜Unter anderem wird die stat-Methode verwendet, um detaillierte Informationen der angegebenen Datei in Qiniu Cloud abzurufen. 🎜🎜Löschen Sie die angegebene Datei: 🎜rrreee🎜Unter anderem wird die Methode delete verwendet, um die angegebene Datei im angegebenen Bucket zu löschen. 🎜🎜Das Obige sind einige grundlegende Inhalte zur Verwendung von PHP zur Implementierung des Qiniu Cloud SDK. Ich hoffe, dass es für alle hilfreich ist. Der Einsatz des Qiniu Cloud SDK kann die Entwicklung und Verwaltung von Cloud-Speicherdiensten erheblich vereinfachen, sodass wir uns stärker auf die Geschäftslogik der Anwendung konzentrieren können. 🎜

Das obige ist der detaillierte Inhalt vonPHP implementiert das Open-Source-Qiniu-Cloud-SDK. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn