Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan PHP untuk menukar gambar dalam storan awan Qiniu kepada format Base64 dan menyimpannya ke folder tempatan?

Bagaimana untuk menggunakan PHP untuk menukar gambar dalam storan awan Qiniu kepada format Base64 dan menyimpannya ke folder tempatan?

王林
王林asal
2023-09-06 09:57:161404semak imbas

Bagaimana untuk menggunakan PHP untuk menukar gambar dalam storan awan Qiniu kepada format Base64 dan menyimpannya ke folder tempatan?

Bagaimana untuk menggunakan PHP untuk menukar gambar dalam Storan Awan Qiniu kepada format Base64 dan menyimpannya ke folder setempat?

Pengenalan:
Dengan aplikasi storan awan yang meluas, Qiniu Cloud Storage, sebagai salah satu platform storan awan yang terkenal di China, digunakan oleh semakin ramai pembangun. Dalam pembangunan sebenar, kadangkala perlu menukar gambar dalam storan awan Qiniu kepada format Base64 dan menyimpannya ke folder tempatan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mencapai fungsi ini.

Langkah:

  1. Buat folder PHP, andaikan ia adalah 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. Perkenalkan SDK Qiniu Cloud Storage, yang boleh dipasang melalui Composer qiniu/php-sdk code>;


Perkenalkan fail pemuatan automatik Qiniu Cloud Storage SDK pada permulaan fail, dan kelas lain yang diperlukan:

rrreee🎜🎜🎜Tetapkan Kunci Akses dan Kunci Rahsia Qiniu Cloud Storage, dan nama ruang storan yang akan dikendalikan :🎜rrreee🎜🎜🎜Buat objek kebenaran untuk Qiniu Cloud Storage:🎜rrreee🎜🎜🎜Dapatkan senarai semua fail dalam ruang storan:🎜rrreee🎜🎜🎜,Gelung melalui senarai fail tukar setiap fail imej dan simpan ke folder Tempatan: 🎜rrreee🎜Penjelasan: 🎜🎜🎜Dalam kod, gantikan YOUR_ACCESS_KEY dan YOUR_SECRET_KEY dengan Kunci Akses dan Kunci Rahsia yang anda perolehi daripada Storan Awan Qiniu masing-masing; . Jika ia tidak wujud, buat folder. 🎜🎜🎜Ringkasan: 🎜Dengan contoh kod di atas, kita boleh menggunakan PHP untuk menukar imej dalam Qiniu Cloud Storage kepada format Base64 dan menyimpannya ke folder setempat. Ini sangat berguna dalam beberapa keperluan khusus, seperti menukar imej kepada format Base64 sebelum melakukan pemprosesan lain, atau menyimpan kandungan imej ke pangkalan data, dsb. Saya harap artikel ini akan membantu anda melaksanakan ciri ini. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP untuk menukar gambar dalam storan awan Qiniu kepada format Base64 dan menyimpannya ke folder tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn