Home  >  Article  >  Backend Development  >  PHP and Qiniu Cloud docking example sharing

PHP and Qiniu Cloud docking example sharing

PHPz
PHPzOriginal
2023-07-05 17:16:37956browse

PHP and Qiniu Cloud docking example sharing

Introduction:
With the development of the Internet, more and more websites and applications need to store and manage a large number of pictures, videos and other files. As a leading cloud storage and CDN service provider, Qiniu Cloud provides developers with efficient and reliable storage and distribution solutions. This article will share how to use PHP language to connect with Qiniu Cloud and provide relevant code examples.

1. Register Qiniu Cloud account
First we need to register a Qiniu Cloud account. After logging in, we can get Qiniu Cloud storage space. In the Qiniu Cloud backend, we can create a new storage space, and each storage space has a unique name.

2. Install Qiniu Cloud PHP SDK
Qiniu Cloud provides an SDK suitable for PHP development, which we can install through Composer. Create a composer.json file in the project root directory and add the following content:

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

Then execute the composer install command on the command line. Composer will automatically download and install Qiniu Cloud PHP SDK.

3. Configure Qiniu Cloud access key
Before using Qiniu Cloud SDK, we need to configure the access key in the project. In the Qiniu Cloud backend, find the corresponding storage space. AccessKey and SecretKey can be found on the "Key Management" page. These two keys are used for signature authentication of API requests.

We can add the following content to the project configuration file and replace AccessKey and SecretKey with your own keys:

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

4. Upload files to Qiniu Cloud Storage Space
Next, let’s look at a simple example of uploading local images to Qiniu Cloud storage space.

<?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'], "
";
}
?>

In the above code, we first create an Auth object through the QiniuAuth class and initialize it with AccessKey and SecretKey. Then use the uploadToken method of the Auth object to generate an upload Token, with the parameter being the storage space name.

Next, we use the putFile method of the QiniuStorageUploadManager class to upload local files. Among them, the $token parameter is the upload Token, the $key parameter is the file name stored on Qiniu Cloud (if it is null, a unique file name is automatically generated), and the $filePath parameter is the local file path. After the upload is successful, an array containing file information will be returned.

5. Using Qiniu Cloud Storage
After successfully uploading the file, we can access and display the file through Qiniu Cloud's CDN. Files in the Qiniu Cloud storage space can be accessed through the URL in the following format:

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

Among them, 280134e6c3237783be1035f17b978582 is the name of the storage space, 9e6c6f86673efa96e9f4645ec38e5f75 is the domain name of Qiniu Cloud, 42538adbdb6240b2b083a000a615d5bd is the file name.

6. Download files from Qiniu Cloud Storage
If you need to download files from Qiniu Cloud Storage, you can use the following code:

<?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;
?>

In the above code, we first create a BucketManager object and initialized with AccessKey and SecretKey. Then, use the privateDownloadUrl method of the BucketManager object to generate a private download link, with the parameters being the storage space name and file name.

Conclusion:
Through the above examples, we can easily realize the connection between PHP and Qiniu Cloud, and realize the file upload and download functions. Qiniu Cloud provides a wealth of APIs and tools, and developers can implement more specific functions according to their own needs. I hope this article is helpful to you, thank you for reading!

The above is the detailed content of PHP and Qiniu Cloud docking example sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn