Méthode d'utilisation de l'interface de stockage cloud PHP et Qiniu pour obtenir une compression de qualité d'image et une conversion de format

王林
Libérer: 2023-07-09 10:18:02
original
1150 Les gens l'ont consulté

Méthode d'utilisation de PHP et de l'interface Qiniu Cloud Storage pour obtenir une compression de qualité et une conversion de format des images

Introduction :
Dans le développement Web, il est souvent nécessaire d'effectuer une compression de qualité et une conversion de format des images afin d'améliorer la vitesse de chargement des pages et d'économiser bande passante. Cet article expliquera comment utiliser PHP et l'interface de stockage cloud Qiniu pour implémenter cette fonction. Dans le même temps, nous donnerons des exemples de code détaillés pour faciliter la compréhension et l’application par les lecteurs.

Préparation des prérequis :
Avant de commencer, nous devons préparer les éléments suivants :

  1. Un compte de stockage cloud Qiniu et la configuration de l'API est terminée.
  2. Environnement de développement PHP, tel qu'Apache, Nginx, etc.
  3. Installez le SDK PHP de Qiniu Cloud Storage.

Étape 1 : Installez le SDK PHP de Qiniu Cloud Storage

  1. Ouvrez le terminal et basculez vers le répertoire où se trouve le projet.
  2. Exécutez la commande suivante pour installer le SDK PHP de Qiniu Cloud Storage :

    composer require "qiniu/php-sdk"
    Copier après la connexion
  3. Une fois l'installation terminée, vous pouvez commencer à écrire du code.

Étape 2 : Implémentation du code pour la compression de qualité et la conversion de format
Ce qui suit est une fonction PHP simple pour la compression de qualité et la conversion de format des images :

<?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;
?>
Copier après la connexion

Dans le code ci-dessus, nous avons d'abord introduit le SDK PHP Qiniu Cloud Storage et défini la clé d'accès, la clé secrète et l'espace à télécharger de Qiniu Cloud Storage. Ensuite, une fonction nommée compressAndConvertImage est définie, qui est utilisée pour compresser et convertir les images. Cette fonction accepte deux paramètres : le chemin où se trouve l'image et le nom de fichier de l'image. Dans la fonction, le téléchargement, la compression et la conversion de format des images sont implémentés via l'objet Auth et l'objet UploadManager. Enfin, testez en appelant la fonction compressAndConvertImage pour imprimer l'URL de l'image compressée et convertie.

Conclusion : 
Grâce aux étapes ci-dessus, nous pouvons facilement utiliser l'interface de stockage cloud PHP et Qiniu pour obtenir une compression de qualité d'image et une conversion de format. De cette manière, nous pouvons non seulement améliorer la vitesse de chargement et l’expérience utilisateur du site Web, mais également économiser de la bande passante et de l’espace de stockage. J'espère que cet article vous aidera !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!