Полное руководство по преобразованию PNG и JPG в WebP с помощью PHP

В сегодняшней цифровой среде оптимизация изображений для Интернета имеет решающее значение для повышения производительности веб-сайта и удобства пользователей. Одним из популярных форматов изображений, который обеспечивает превосходное сжатие и меньший размер файлов без ущерба для качества, является WebP. В этой статье мы рассмотрим различные методы преобразования изображений PNG и JPG в формат WebP с помощью PHP.

Метод 1. Использование библиотеки GD
Библиотека GD — это популярная библиотека манипуляций с изображениями на PHP, которая предоставляет функции для работы с различными форматами изображений, включая PNG, JPG и WebP.

<?php
$sourceFile = 'image.png';
$destinationFile = 'image.webp';
$image = imagecreatefrompng($sourceFile);
imagewebp($image, $destinationFile);
imagedestroy($image);
echo 'Image converted successfully!';
?>

Метод 2: использование расширения Imagick
Imagick — это собственное расширение PHP, которое позволяет сценарию PHP создавать, изменять изображения и управлять ими с помощью библиотеки ImageMagick. Он поддерживает широкий спектр форматов изображений, включая WebP.

<?php
$sourceFile = 'image.jpg';
$destinationFile = 'image.webp';
$image = new Imagick($sourceFile);
$image->setImageFormat('webp');
$image->writeImage($destinationFile);
echo 'Image converted successfully!';
?>

Метод 3: использование инструмента командной строки cwebp
Если на вашем сервере установлен инструмент командной строки cwebp, вы можете запустить его с помощью функции PHP exec()для преобразования изображений в WebP..

<?php
$sourceFile = 'image.png';
$destinationFile = 'image.webp';
$command = "cwebp $sourceFile -o $destinationFile";
exec($command);
echo 'Image converted successfully!';
?>

Метод 4: использование сторонних библиотек
Существует несколько сторонних PHP-библиотек, которые упрощают преобразование изображений и предоставляют дополнительные функции. Одной из таких библиотек является «PHP Image Magician» ( https://github.com/avalanche123/Представьте себе ), которая поддерживает преобразование PNG и JPG в WebP.

<?php
require 'vendor/autoload.php';
use Imagine\Gd\Imagine;
use Imagine\Image\Box;
$sourceFile = 'image.jpg';
$destinationFile = 'image.webp';
$imagine = new Imagine();
$image = $imagine->open($sourceFile);
$image->save($destinationFile, ['webp_quality' => 80]);
echo 'Image converted successfully!';
?>

Преобразование изображений PNG и JPG в формат WebP с помощью PHP необходимо для оптимизации доставки изображений в Интернете. В этой статье мы рассмотрели различные методы, в том числе использование библиотеки GD, расширения Imagick, инструмента командной строки cwebp и сторонних библиотек, таких как PHP Image Magician. Внедрив эти методы, вы сможете значительно уменьшить размеры изображений и повысить производительность сайта.