Home Backend Development PHP Tutorial PHP and Qiniu Cloud docking example sharing

PHP and Qiniu Cloud docking example sharing

Jul 05, 2023 pm 05:16 PM
php Qiniuyun docking example

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"
    }
}
Copy after login

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');
Copy after login

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

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>
Copy after login

Among them, is the name of the storage space, is the domain name of Qiniu Cloud, 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;
?>
Copy after login

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles