>  기사  >  백엔드 개발  >  PHP 및 Qiniu 클라우드 도킹 예시 공유

PHP 및 Qiniu 클라우드 도킹 예시 공유

PHPz
PHPz원래의
2023-07-05 17:16:37981검색

PHP 및 Qiniu 클라우드 도킹 예제 공유

소개:
인터넷이 발전함에 따라 점점 더 많은 웹사이트와 애플리케이션에서 많은 수의 사진, 비디오 및 기타 파일을 저장하고 관리해야 합니다. 선도적인 클라우드 스토리지 및 CDN 서비스 제공업체인 Qiniu Cloud는 개발자에게 효율적이고 안정적인 스토리지 및 배포 솔루션을 제공합니다. 이 기사에서는 PHP 언어를 사용하여 Qiniu Cloud에 연결하는 방법을 공유하고 관련 코드 예제를 제공합니다.

1. Qiniu Cloud 계정 등록
먼저 Qiniu Cloud 계정을 등록해야 합니다. 로그인 후 Qiniu Cloud 저장 공간을 얻을 수 있습니다. Qiniu Cloud 백엔드에서는 새로운 저장 공간을 생성할 수 있으며, 각 저장 공간에는 고유한 이름이 있습니다.

2. Qiniu Cloud PHP SDK 설치
Qiniu Cloud는 PHP 개발에 적합한 SDK를 제공하며 Composer를 통해 설치할 수 있습니다. 프로젝트 루트 디렉터리에 작곡가.json 파일을 만들고 다음 내용을 추가합니다.

{
    "require": {
        "qiniu/php-sdk": "^7.0"
    }
}

그런 다음 명령줄에서 composer install 명령을 실행하면 Composer가 자동으로 Qiniu Cloud PHP SDK를 다운로드하고 설치합니다.

3. Qiniu Cloud 액세스 키 구성
Qiniu Cloud SDK를 사용하기 전에 프로젝트에서 액세스 키를 구성해야 합니다. Qiniu Cloud 백엔드에서 해당 저장 공간을 찾으세요. AccessKey와 SecretKey는 "키 관리" 페이지에서 찾을 수 있습니다. 이 두 키는 API 요청의 서명 인증에 사용됩니다.

다음 콘텐츠를 프로젝트 구성 파일에 추가하고 AccessKey 및 SecretKey를 자신의 키로 바꿀 수 있습니다.

define('QINIU_ACCESS_KEY', 'your_access_key');
define('QINIU_SECRET_KEY', 'your_secret_key');

4. Qiniu 클라우드 저장 공간에 파일 업로드
다음으로 간단한 예를 살펴보겠습니다. Qiniu 클라우드에 로컬 사진 업로드 저장 공간.

<?php
require 'vendor/autoload.php';

use QiniuAuth;
use QiniuStorageUploadManager;

// 获取七牛云访问密钥
$accessKey = QINIU_ACCESS_KEY;
$secretKey = QINIU_SECRET_KEY;

// 初始化Auth对象
$auth = new Auth($accessKey, $secretKey);

// 生成上传Token
$bucket = 'your_bucket_name'; // 替换为你的存储空间名称
$token = $auth->uploadToken($bucket);

// 上传文件
$filePath = '/path/to/your/file.jpg'; // 替换为你的本地文件路径
$uploadManager = new UploadManager();
list($ret, $err) = $uploadManager->putFile($token, null, $filePath);

if ($err !== null) {
    echo "文件上传失败: ", $err->message(), "
";
} else {
    echo "文件上传成功
";
    echo "文件URL: ", $ret['key'], "
";
    echo "文件Hash: ", $ret['hash'], "
";
}
?>

위 코드에서는 먼저 QiniuAuth 클래스를 통해 Auth 개체를 생성하고 AccessKey 및 SecretKey로 초기화합니다. 그런 다음 Auth 객체의 uploadToken 메소드를 사용하여 업로드 토큰을 생성합니다. 매개변수는 저장 공간 이름입니다.

다음으로 QiniuStorageUploadManager 클래스의 putFile 메서드를 사용하여 로컬 파일을 업로드합니다. 그 중 $token 매개변수는 업로드 토큰이고 $key 매개변수는 Qiniu Cloud에 저장된 파일 이름(null인 경우 고유한 파일 이름이 자동으로 생성됨)이며 $filePath 매개변수는 로컬 파일 경로입니다. 업로드가 성공하면 파일 정보가 포함된 배열이 반환됩니다.

5. Qiniu Cloud Storage 사용
파일을 성공적으로 업로드한 후 Qiniu Cloud의 CDN을 통해 파일에 액세스하고 표시할 수 있습니다. Qiniu Cloud 저장 공간에 있는 파일은 다음 형식의 URL을 통해 액세스할 수 있습니다.

http://<bucket>.<domain>/<key>

그 중 280134e6c3237783be1035f17b978582은 저장 공간 이름이고, 9e6c6f86673efa96e9f4645ec38e5f75은 Qiniu Cloud의 도메인 이름입니다. ;은 파일 이름입니다.

6. Qiniu Cloud Storage에서 파일 다운로드
Qiniu Cloud Storage에서 파일을 다운로드해야 하는 경우 다음 코드를 사용할 수 있습니다.

<?php
require 'vendor/autoload.php';

use QiniuAuth;
use QiniuStorageBucketManager;

// 获取七牛云访问密钥
$accessKey = QINIU_ACCESS_KEY;
$secretKey = QINIU_SECRET_KEY;

// 初始化Auth对象
$auth = new Auth($accessKey, $secretKey);

// 初始化BucketManager对象
$bucketMgr = new BucketManager($auth);

// 存储空间名称
$bucket = 'your_bucket_name'; // 替换为你的存储空间名称

// 文件名
$key = 'your_file_key'; // 替换为你的文件名

// 生成私有下载链接
$url = $bucketMgr->privateDownloadUrl($bucket, $key);

echo '文件下载链接:', $url;
?>

위 코드에서는 먼저 BucketManager 개체를 생성하고 AccessKey 및 SecretKey로 초기화합니다. . 그런 다음 BucketManager 개체의 privateDownloadUrl 메서드를 사용하여 저장 공간 이름과 파일 이름을 매개변수로 사용하여 비공개 다운로드 링크를 생성합니다.

결론:
위의 예를 통해 PHP와 Qiniu Cloud 간의 연결을 쉽게 실현하고 파일 업로드 및 다운로드 기능을 실현할 수 있습니다. Qiniu Cloud는 풍부한 API와 도구를 제공하며 개발자는 자신의 필요에 따라 보다 구체적인 기능을 구현할 수 있습니다. 이 글이 도움이 되셨으면 좋겠습니다. 읽어주셔서 감사합니다!

위 내용은 PHP 및 Qiniu 클라우드 도킹 예시 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.