Gökhan BARAN
Full Stack Developer
© 2017-2024 All rights reserved.
Php jpg,png,gif dosyalarını webp formatına çevirme
Php jpg,png,gif dosyalarını webp formatına çevirmek için öncelikle sunucunuzda gd kütüphanesinin aktif veya kurulu olması gerekmektedir.
Gd kütüphanesi kurulumu, aktifmi kontrol etmek için aşağıdaki kodu kullanabilirsiniz.
<?php
if (extension_loaded('gd') && function_exists('imagewebp')) {
echo 'GD kütüphanesi yüklü';
} else {
echo 'GD kütüphanesi yüklü değil.';
}
?>
WebP, Google tarafından geliştirilen ve özellikle web üzerinde kullanılmak üzere tasarlanmış bir resim formatıdır. WebP, JPEG ve PNG formatlarına göre daha iyi sıkıştırma oranları sunarak daha küçük dosya boyutları ve dolayısıyla daha hızlı yükleme süreleri sağlar. PHP ile JPG veya PNG dosyalarını WebP formatına dönüştürmek için aşağıdaki fonksiyonu kullanabilirsiniz. Dönüştürürken kalite değeri olarak 0-100 arası değer yazabilirsiniz.
function webpImage($source, $quality = 60, $removeOld = true)
{
$dir = pathinfo($source, PATHINFO_DIRNAME);
$name = pathinfo($source, PATHINFO_FILENAME);
$destination = $dir . DIRECTORY_SEPARATOR . $name . '.webp';
$info = getimagesize($source);
$isAlpha = false;
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($isAlpha = $info['mime'] == 'image/gif') {
$image = imagecreatefromgif($source);
} elseif ($isAlpha = $info['mime'] == 'image/png') {
$image = imagecreatefrompng($source);
} else {
return $source;
}
if ($isAlpha) {
imagepalettetotruecolor($image);
imagealphablending($image, true);
imagesavealpha($image, true);
}
imagewebp($image, $destination, $quality);
if ($removeOld)
unlink($source);
return $destination;
}