클라우드 컴퓨팅 기술이 발전함에 따라 점점 더 많은 애플리케이션이 클라우드 스토리지 서비스에 의존하기 시작했으며 Qiniu Cloud는 인기 있는 클라우드 스토리지 서비스 제공업체 중 하나입니다. Qiniu Cloud 서비스를 사용할 때 데이터 업로드 및 파일 관리와 같은 작업을 완료하려면 제공되는 SDK를 사용해야 합니다. PHP로 구현된 Qiniu Cloud SDK도 개발자들로부터 많은 관심을 받았습니다. 이 기사에서는 PHP를 사용하여 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');
Qiniu Cloud SDK를 사용하여 파일 업로드를 구현하는 것은 매우 간단하며 완료하는 데 몇 줄의 코드만 필요합니다. Qiniu Cloud SDK는 QiniuUploadManager
의 putFile
과 QiniuStorageUploadManager
의 put
메서드라는 두 가지 메서드를 제공합니다. 이 글에서는 putFile
메소드를 업로드에 사용합니다. 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
그 중 두 번째 매개변수filename
은 Qiniu Cloud에 업로드된 파일 이름이고, 세 번째 매개변수 /path/to/local/file
은 로컬입니다. 파일 경로. 업로드 후 $ret
변수에는 Qiniu Cloud의 파일 정보가 포함되고, $err
변수에는 오류 정보가 포함됩니다. 디버깅 및 오류 확인을 위해 이러한 변수를 인쇄할 수 있습니다. 🎜QiniuStorageBucketManager
클래스에서 제공되는 일련의 메소드를 통해 파일에 대한 쿼리, 획득, 삭제 및 기타 작업을 수행할 수 있습니다. 다음은 예시 코드입니다. 🎜🎜 모든 파일 쿼리: 🎜rrreee🎜 그 중 listFiles
메소드는 지정된 Bucket 아래의 모든 파일을 쿼리하는 데 사용됩니다. 여기서 $bucket
버킷 이름, $marker
는 표시, $limit
는 매번 반환되는 레코드 수, $prefix
는 파일 접두사 . 🎜🎜지정된 파일 정보 가져오기: 🎜rrreee🎜그 중 stat
메소드는 Qiniu Cloud에서 지정된 파일의 자세한 정보를 가져오는 데 사용됩니다. 🎜🎜지정된 파일 삭제: 🎜rrreee🎜그 중 delete
메소드는 지정된 Bucket에 있는 지정된 파일을 삭제하는 데 사용됩니다. 🎜🎜위 내용은 PHP를 사용하여 Qiniu Cloud SDK를 구현하는 기본 내용입니다. 모든 분들께 도움이 되기를 바랍니다. Qiniu Cloud SDK를 사용하면 클라우드 스토리지 서비스의 개발 및 관리가 크게 단순화되어 애플리케이션의 비즈니스 로직에 더 집중할 수 있습니다. 🎜위 내용은 PHP는 오픈소스 Qiniu Cloud SDK를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!