Publié dans PHP
Vous rencontrez un problème de vitesse du site? Vous devriez alors envisager d’optimiser les images de votre site. Les images lourdes ralentissent la vitesse du site. Alors quelle est la solution? Simple. Utilisez le TinyPNG pour compresser les images. Dans cet article, je vous montre comment compresser des images à l’aide de TinyPNG.
J’ai construit un script PHP qui compresse les images en masse à l’aide de l’API TinyPNG. Utilisez-le et vérifiez les performances de votre site. Ce sera mieux car nous réduisons la taille de l’image.
Pour commencer, vous devez obtenir une clé API en vous inscrivant avec votre nom et votre adresse e-mail.
Je suppose que vous avez un grand nombre d’images qui doivent être compressées. Alors, créez deux dossiers ‘non compressé’ et ‘compressé’. Conservez toutes vos images dans un dossier « non compressé ». Nous stockerons toutes les images optimisées dans le dossier « compressé » à la volée.
Ouvrez l’invite de commande dans le répertoire racine de votre projet et exécutez la commande :
composer require tinify/tinify
Il installera la bibliothèque TinyPNG dans votre projet afin que vous puissiez appeler leurs API.
Remarque: TinyPNG vous permet de compresser 500 images gratuitement par mois. Pour plus de 500 images, vous devez payer pour leur service.
Lors de l’installation de la bibliothèque, créez un index.php
fichier et ajoutez-y le code ci-dessous.
<?php
set_time_limit(0);
require_once("vendor/autoload.php");
TinifysetKey("TINYPNG_API_KEY");
$dir = 'uncompressed/';
$images = scandir($dir);
$images = array_diff($images, array('.', '..'));
foreach ($images as $image) {
$source = TinifyfromFile($dir.$image);
$source->toFile("compressed/".$image);
}
echo "All images are compressed.";
Remplacez l’espace réservé TINYPNG_API_KEY par votre clé réelle. Ici, nous stockons des images optimisées dans un dossier « compressé ». Si vous souhaitez remplacer les images d’origine par celles optimisées, modifiez la ligne ci-dessous
$source->toFile("compressed/".$image);
Avec
$source->toFile($dir.$image);
C’est ça! Allez-y et exécutez votre URL dans le navigateur. Il compressera vos images et les performances de votre site devraient s’améliorer.
J’espère que vous comprenez comment compresser des images à l’aide de l’API TinyPNG en PHP. J’aimerais entendre vos pensées et suggestions dans la section des commentaires ci-dessous.
Articles Liés
- Comment optimiser l’image lors du téléchargement en PHP
- Télécharger et compresser plusieurs images en PHP
- Un guide pour télécharger et compresser des images dans Laravel