Home  >  Article  >  Backend Development  >  How to use PHP to convert pictures in Qiniu cloud storage to Base64 format and save them to a local folder?

How to use PHP to convert pictures in Qiniu cloud storage to Base64 format and save them to a local folder?

王林
王林Original
2023-09-06 09:57:161379browse

How to use PHP to convert pictures in Qiniu cloud storage to Base64 format and save them to a local folder?

How to use PHP to convert pictures in Qiniu Cloud Storage to Base64 format and save them to a local folder?

Introduction:
With the widespread application of cloud storage, Qiniu Cloud Storage, as one of the well-known cloud storage platforms in China, is used by more and more developers. In actual development, sometimes it is necessary to convert pictures in Qiniu cloud storage to Base64 format and save them to a local folder. This article will introduce how to use PHP to achieve this function.

Steps:

  1. Create a PHP folder, assuming it is convert_image.php;
  2. Introduce the SDK of Qiniu Cloud Storage, you can Install qiniu/php-sdk through Composer;
  3. Introduce the auto-loading file of Qiniu Cloud Storage SDK at the beginning of the file, as well as other necessary classes:

    require_once 'vendor/autoload.php';
    
    use QiniuAuth;
    use QiniuStorageBucketManager;
  4. Set the Access Key and Secret Key of Qiniu Cloud Storage, and the name of the storage space to be operated:

    $accessKey = 'YOUR_ACCESS_KEY';
    $secretKey = 'YOUR_SECRET_KEY';
    $bucket = 'YOUR_BUCKET_NAME';
  5. Create an authorization object for Qiniu Cloud Storage:

    $auth = new Auth($accessKey, $secretKey);
  6. Get the list of all files in the storage space:

    $bucketManager = new BucketManager($auth);
    $files = $bucketManager->listFiles($bucket);
  7. Loop through the file list, convert each image file and save it to Local folder:

    if (!file_exists('images')) {
     mkdir('images');
    }
    
    foreach ($files['items'] as $file) {
     $key = $file['key'];
     $fileInfo = pathinfo($key);
     $extension = $fileInfo['extension'];
    
     // 判断文件是否为图片
     if (in_array($extension, ['jpg', 'jpeg', 'png', 'gif'])) {
         $imageData = file_get_contents('http://' . $bucket . '.qiniudn.com/' . $key);
         $base64Image = base64_encode($imageData);
    
         file_put_contents("images/{$fileInfo['filename']}.txt", $base64Image);
     }
    }

    Explanation:

  8. In the code, YOUR_ACCESS_KEY and YOUR_SECRET_KEY are replaced respectively with your Qiniu cloud storage Obtained Access Key and Secret Key;
  9. YOUR_BUCKET_NAME is replaced with the name of the storage space you want to operate;
  10. images is used to save images in Base64 format Local folder, created if it does not exist.

Summary:
Through the above code example, we can use PHP to convert images in Qiniu Cloud Storage to Base64 format and save them to a local folder. This is very useful in some specific needs, such as converting images to Base64 format before performing other processing, or saving image content to a database, etc. I hope this article will help you implement this feature.

The above is the detailed content of How to use PHP to convert pictures in Qiniu cloud storage to Base64 format and save them to a local folder?. 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