Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah untuk menggunakan antara muka storan awan PHP dan Qiniu untuk mencapai pemampatan kualiti imej dan penukaran format

Kaedah untuk menggunakan antara muka storan awan PHP dan Qiniu untuk mencapai pemampatan kualiti imej dan penukaran format

王林
王林asal
2023-07-09 10:16:371162semak imbas

Kaedah menggunakan antara muka PHP dan Storan Awan Qiniu untuk mencapai pemampatan berkualiti dan penukaran format imej

Pengenalan:
Dalam pembangunan web, selalunya perlu melakukan pemampatan berkualiti dan penukaran format imej untuk meningkatkan kelajuan memuatkan halaman dan menjimatkan lebar jalur. Artikel ini akan memperkenalkan cara menggunakan antara muka storan awan PHP dan Qiniu untuk melaksanakan fungsi ini. Pada masa yang sama, kami akan memberikan contoh kod terperinci untuk memudahkan pembaca memahami dan mengaplikasikannya.

Persediaan prasyarat:
Sebelum kita mula, kita perlu menyediakan yang berikut:

  1. Akaun storan awan Qiniu, dan konfigurasi API telah selesai.
  2. Persekitaran pembangunan PHP, seperti Apache, Nginx, dll.
  3. Pasang PHP SDK bagi Qiniu Cloud Storage.

Langkah 1: Pasang PHP SDK Qiniu Cloud Storage

  1. Buka terminal dan tukar ke direktori di mana projek itu berada.
  2. Jalankan arahan berikut untuk memasang PHP SDK Qiniu Cloud Storage:

    composer require "qiniu/php-sdk"
  3. Selepas pemasangan selesai, anda boleh mula menulis kod.

Langkah 2: Pelaksanaan kod pemampatan kualiti dan penukaran format
Berikut ialah fungsi PHP mudah untuk pemampatan kualiti dan penukaran format imej:

<?php
require 'vendor/autoload.php'; // 引入七牛云存储的PHP SDK

// 设置七牛云存储的Access Key和Secret Key
$accessKey = 'YOUR_ACCESS_KEY';
$secretKey = 'YOUR_SECRET_KEY';

// 设置要上传的空间
$bucket = 'YOUR_BUCKET';

// 设置图片的样式,包括质量压缩和格式转换
$style = 'imageView2/2/q/75|sys_png';

// 压缩并转换图片的函数
function compressAndConvertImage($path, $key)
{
    global $accessKey, $secretKey, $bucket, $style;

    // 构建Auth对象
    $auth = new QiniuAuth($accessKey, $secretKey);

    // 构建图片对象
    $image = new QiniuStorageUploadManager();

    // 上传图片并压缩、转换格式
    list($ret, $err) = $image->putFile(
        $auth->uploadToken($bucket), 
        $key, 
        $path . $key + '?'.$style
    );

    if ($err !== null) {
        // 上传失败,打印错误信息
        echo $err;
        return false;
    } else {
        // 上传成功,返回七牛云存储中的图片URL
        return $ret['key'];
    }
}

// 测试函数
$imagePath = '/path/to/image/'; // 图片所在的路径
$imageKey = 'example.jpg'; // 图片的文件名

$imageURL = compressAndConvertImage($imagePath, $imageKey);
echo '压缩并转换后的图片URL:' . $imageURL;
?>

Dalam kod di atas, kami mula-mula memperkenalkan Qiniu Cloud Storage PHP SDK, dan menetapkan Kunci Akses, Kunci Rahsia dan ruang untuk dimuat naik bagi Storan Awan Qiniu. Kemudian, fungsi bernama compressAndConvertImage ditakrifkan, yang digunakan untuk memampatkan dan menukar imej. Fungsi ini menerima dua parameter: laluan di mana imej terletak dan nama fail imej. Dalam fungsi, muat naik, pemampatan dan penukaran format imej dilaksanakan melalui objek Auth dan objek UploadManager. Akhir sekali, uji dengan memanggil fungsi compressAndConvertImage untuk mencetak URL imej yang dimampatkan dan ditukar.

Kesimpulan:
Melalui langkah di atas, kami boleh menggunakan antara muka storan awan PHP dan Qiniu dengan mudah untuk mencapai pemampatan kualiti imej dan penukaran format. Dengan cara ini, kami bukan sahaja dapat meningkatkan kelajuan pemuatan dan pengalaman pengguna tapak web, tetapi juga menjimatkan lebar jalur dan ruang storan. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Kaedah untuk menggunakan antara muka storan awan PHP dan Qiniu untuk mencapai pemampatan kualiti imej dan penukaran format. 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