Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour convertir des images du stockage cloud Qiniu au format Base64 et les enregistrer dans un dossier local ?

Comment utiliser PHP pour convertir des images du stockage cloud Qiniu au format Base64 et les enregistrer dans un dossier local ?

王林
王林original
2023-09-06 09:57:161379parcourir

Comment utiliser PHP pour convertir des images du stockage cloud Qiniu au format Base64 et les enregistrer dans un dossier local ?

Comment utiliser PHP pour convertir des images au format Qiniu Cloud Storage au format Base64 et les enregistrer dans un dossier local ?

Introduction :
Avec l'application généralisée du stockage cloud, Qiniu Cloud Storage, en tant que l'une des plates-formes de stockage cloud bien connues en Chine, est utilisée par de plus en plus de développeurs. Dans le développement réel, il est parfois nécessaire de convertir les images du stockage cloud Qiniu au format Base64 et de les enregistrer dans un dossier local. Cet article explique comment utiliser PHP pour réaliser cette fonction.

Étapes :

  1. Créez un dossier PHP, en supposant qu'il s'agit de convert_image.php ; convert_image.php
  2. 引入七牛云存储的SDK,可以通过Composer安装qiniu/php-sdk
  3. 在文件开头引入七牛云存储SDK的自动加载文件,以及其他必要的类:

    require_once 'vendor/autoload.php';
    
    use QiniuAuth;
    use QiniuStorageBucketManager;
  4. 设置七牛云存储的Access Key和Secret Key,以及要操作的存储空间名称:

    $accessKey = 'YOUR_ACCESS_KEY';
    $secretKey = 'YOUR_SECRET_KEY';
    $bucket = 'YOUR_BUCKET_NAME';
  5. 创建一个七牛云存储的授权对象:

    $auth = new Auth($accessKey, $secretKey);
  6. 获取存储空间中的所有文件列表:

    $bucketManager = new BucketManager($auth);
    $files = $bucketManager->listFiles($bucket);
  7. 循环遍历文件列表,对每个图片文件进行转换并保存到本地文件夹:

    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);
     }
    }

    解释:

  8. 在代码中,YOUR_ACCESS_KEYYOUR_SECRET_KEY分别替换为你在七牛云存储获取的Access Key和Secret Key;
  9. YOUR_BUCKET_NAME替换为你要操作的存储空间名称;
  10. images
  11. Introduisez le SDK de Qiniu Cloud Storage, qui peut être installé via Composer qiniu/php-sdk. code> ;


Introduisez le fichier de chargement automatique du SDK Qiniu Cloud Storage au début du fichier, ainsi que les autres classes nécessaires :

rrreee🎜🎜🎜Définissez la clé d'accès et la clé secrète de Qiniu Cloud Storage, ainsi que nom de l'espace de stockage à exploiter :🎜rrreee🎜🎜🎜Créer un objet d'autorisation pour Qiniu Cloud Storage :🎜rrreee🎜🎜🎜Obtenir une liste de tous les fichiers de l'espace de stockage :🎜rrreee🎜🎜🎜Parcourir la liste des fichiers, convertissez chaque fichier image et enregistrez-le dans le dossier local : 🎜rrreee🎜Explication : 🎜🎜🎜Dans le code, remplacez YOUR_ACCESS_KEY et YOUR_SECRET_KEY par la clé d'accès et la clé secrète que vous avez obtenues depuis Qiniu Cloud Storage respectivement ; 🎜🎜YOUR_BUCKET_NAME est remplacé par le nom de l'espace de stockage que vous souhaitez exploiter ; 🎜🎜images est le dossier local qui enregistre les images au format Base64 ; . S'il n'existe pas, créez le dossier. 🎜🎜🎜Résumé : 🎜Avec l'exemple de code ci-dessus, nous pouvons utiliser PHP pour convertir des images au format Qiniu Cloud Storage au format Base64 et les enregistrer dans un dossier local. Ceci est très utile dans certains besoins spécifiques, comme la conversion d'images au format Base64 avant d'effectuer d'autres traitements, ou l'enregistrement du contenu de l'image dans une base de données, etc. J'espère que cet article vous aidera à implémenter cette fonctionnalité. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn