>PHP 프레임워크 >ThinkPHP >ThinkPHP6에서 Qiniu 클라우드 스토리지를 사용하는 방법

ThinkPHP6에서 Qiniu 클라우드 스토리지를 사용하는 방법

WBOY
WBOY원래의
2023-06-20 13:32:522318검색

클라우드 컴퓨팅 기술의 지속적인 개발과 최적화로 인해 클라우드 스토리지는 점점 더 많은 기업과 개인이 선택하는 스토리지 방법이 되었습니다. 그중 Qiniu Cloud Storage는 높은 신뢰성, 고가용성 및 높은 비용 성능으로 인해 대부분의 사용자가 선호합니다. 그렇다면 ThinkPHP6에서 Qiniu Cloud Storage를 사용하는 방법은 무엇입니까? 이번 글에서는 이에 대해 자세히 소개하겠습니다.

1. Qiniu Cloud 계정을 등록하고 저장 공간을 만듭니다

먼저 Qiniu Cloud 공식 웹사이트에 가서 계정을 등록해야 합니다. 등록이 성공적으로 완료되면 "Object Storage" 페이지에서 자체 저장 공간을 생성할 수 있습니다. 여기서 주의할 점은 서비스의 보안을 보장하기 위해 저장 공간의 공개 모드를 "비공개"로 설정하는 것이 좋습니다.

2. Qiniu Cloud SDK 설치

Qiniu Cloud Storage를 사용하기 전에 먼저 Qiniu Cloud SDK를 설치해야 합니다. Composer를 통해 설치하고 터미널에서 다음 코드를 실행할 수 있습니다:

composer require qiniu/php-sdk

설치가 완료된 후 config/autoload.php 파일에 추가해야 합니다:

'Qiniu' => 'Qiniu\Auth::autoload'

3. Qiniu Cloud 계정 정보 구성

In ThinkPHP6에서는 config 디렉터리에 있는 파일을 통해 관련 구성을 수행할 수 있습니다. config 아래에 새 파일을 만들고 이름을 "qiniu.php"로 지정합니다. 이 파일에서는 다음과 같은 구성을 해야 합니다.

return [
    'accessKey' => '此处填写您的AccessKey',
    'secretKey' => '此处填写您的SecretKey',
    'bucket' => '此处填写您的存储空间名称',
    'domain' => '此处填写您的存储空间的外链域名'
];

그 중 AccessKey와 SecretKey는 Qiniu Cloud 계정의 핵심 정보로 개인 센터 버킷의 키 관리에서 확인할 수 있는 스토리지 이름입니다. space; domain은 저장 공간의 외부 링크 도메인 이름입니다. 물론 실제 사용시에는 이 모든 정보를 본인의 정보로 대체해야 합니다.

4. Qiniu Cloud에 파일 업로드

위 작업을 완료한 후 프로그램에서 Qiniu Cloud 스토리지를 사용할 수 있습니다. "demo.jpg"라는 이름의 사진을 업로드해야 한다고 가정하면 다음과 같이 코드를 작성할 수 있습니다.

use QiniuAuth;
use QiniuStorageUploadManager;

class Demo
{
    public function upload()
    {
        $accessKey = config('qiniu.accessKey');
        $secretKey = config('qiniu.secretKey');
        $auth = new Auth($accessKey, $secretKey);
        $bucket = config('qiniu.bucket');
        
        $uploadManager = new UploadManager();
        
        $file = '此处填写您要上传的文件路径';
        $key = '此处填写您上传文件在七牛云上的文件名';
        
        $token = $auth->uploadToken($bucket);
        list($ret, $error) = $uploadManager->putFile($token, $key, $file);

        if ($error !== null) {
            return '上传失败';
        } else {
            return '上传成功';
        }
    }
}

파일을 업로드할 때 먼저 AccessKey 및 SecretKey를 사용하여 인증 코드를 생성한 다음 putFile 메서드를 사용해야 합니다. UploadManager의 Qiniu Cloud에 파일을 업로드합니다. 그 중 $file은 로컬 파일의 경로이고, $key는 파일이 Qiniu Cloud에 업로드된 후의 파일 이름입니다. 업로드 결과는 $ret 및 $error를 통해 반환됩니다. $error가 null인지 확인하면 업로드 성공 여부를 확인할 수 있습니다.

5. 외부 링크를 사용하여 업로드된 파일에 액세스

Qiniu Cloud에 파일을 업로드한 후 다른 웹사이트의 파일에 액세스하려면 외부 링크를 제공해야 합니다. 다음 코드를 사용하여 외부 링크를 생성할 수 있습니다.

use QiniuAuth;

class Demo
{
    public function getURL()
    {
        $accessKey = config('qiniu.accessKey');
        $secretKey = config('qiniu.secretKey');
        $auth = new Auth($accessKey, $secretKey);
        
        $bucket = config('qiniu.bucket');
        $domain = config('qiniu.domain');
       
        $fileName = '此处填写您要访问的文件名';
        $baseUrl = 'http://' . $domain . '/' . $fileName;
       
        $signedUrl = $auth->privateDownloadUrl($baseUrl);
        
        return $signedUrl;
    }
}

외부 링크를 생성할 때 필요한 AccessKey, SecretKey 및 파일 이름을 전달해야 합니다. $auth->privateDownloadUrl($baseUrl) 메소드를 사용하여 외부 링크를 얻는 경우 먼저 파일이 속한 공간이 "private" 모드인지 확인한 다음 키를 사용하여 서명합니다. 최종 생성된 외부 링크는 $signedUrl 변수에 저장된 주소입니다. 브라우저에서 이 주소를 열어 Qiniu Cloud에 저장된 파일에 액세스할 수 있습니다.

요약:

위는 ThinkPHP6에서 Qiniu Cloud Storage를 사용하는 방법입니다. Qiniu Cloud Storage를 통해 클라우드에 파일을 업로드하여 효율적인 데이터 저장 및 전송을 달성할 수 있습니다. 실제 사용 시 데이터 보안을 보장하기 위해 저장 공간에 대한 접근 권한을 합리적으로 설정해야 합니다. 이 기사가 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 ThinkPHP6에서 Qiniu 클라우드 스토리지를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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