Опубликовано в PHP
Вы столкнулись с проблемой скорости загрузки сайта? Затем вам следует подумать об оптимизации изображений вашего сайта. Тяжелые изображения замедляют скорость загрузки сайта. Так в чем же выход? Простой. Используйте TinyPNG для сжатия изображений. В этом посте я покажу вам, как сжимать изображения с помощью TinyPNG.
Я создал PHP-скрипт, который сжимает изображения в большом количестве с помощью TinyPNG API. Воспользуйтесь им и проверьте работоспособность своего сайта. Так будет лучше, так как мы уменьшаем размер изображения.
Для начала вам необходимо получить ключ API, зарегистрировавшись под своим именем и адресом электронной почты.
Я предполагаю, что у вас есть большое количество изображений, которые необходимо сжать. Итак, создайте две папки «несжатая» и «сжатая». Храните все изображения в «несжатой» папке. Мы будем хранить все оптимизированные изображения в «сжатой» папке на лету.
Откройте командную строку в корневом каталоге вашего проекта и выполните команду:
composer require tinify/tinify
Он установит библиотеку TinyPNG в ваш проект, чтобы вы могли вызывать их API.
Примечание: TinyPNG позволяет бесплатно сжимать 500 изображений в месяц. Для более 500 изображений нужно платить за их обслуживание.
После установки библиотеки создайте index.php
файл и добавьте в него приведенный ниже код.
<?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.";
Замените заполнитель TINYPNG_API_KEY своим фактическим ключом. Здесь мы храним оптимизированные изображения в «сжатой» папке. Если вы хотите заменить исходные изображения на оптимизированные, измените строку ниже
$source->toFile("compressed/".$image);
С участием
$source->toFile($dir.$image);
Это оно! Идите вперед и запустите свой URL-адрес в браузере. Это сжимает ваши изображения, и производительность вашего сайта должна улучшиться.
Надеюсь, вы понимаете, как сжимать изображения с помощью TinyPNG API в PHP. Я хотел бы услышать ваши мысли и предложения в разделе комментариев ниже.
Статьи по Теме
- Как оптимизировать изображение при загрузке в PHP
- Загрузка и сжатие нескольких изображений в PHP
- Руководство по загрузке и сжатию изображений в Laravel