<?php
function optimitzarImatge($fitxer, $qualitat = 85) {
// Comprova el tipus d'imatge
$info = getimagesize($fitxer);
if (!$info) return false;
// Carrega la imatge segons el format
switch ($info['mime']) {
case 'image/jpeg':
$image = imagecreatefromjpeg($fitxer);
imagejpeg($image, $fitxer, $qualitat);
break;
case 'image/png':
$image = imagecreatefrompng($fitxer);
imagepng($image, $fitxer, 9);
break;
case 'image/webp':
$image = imagecreatefromwebp($fitxer);
imagewebp($image, $fitxer, $qualitat);
break;
default:
return false; // Format no suportat
}
imagedestroy($image);
return true;
}
// Carpeta on tens les imatges
$carpeta = "img";
// Processa totes les imatges de la carpeta
$files = scandir($carpeta);
foreach ($files as $file) {
$extensio = strtolower(pathinfo($file, PATHINFO_EXTENSION));
// Filtra només JPG, PNG i WEBP
if (in_array($extensio, ['jpg', 'jpeg', 'png', 'webp'])) {
$ruta = "$carpeta/$file";
if (optimitzarImatge($ruta)) {
echo "Optimitzada: $file <br>";
} else {
echo "Error amb: $file <br>";
}
}
}
echo "Procés completat!";
?>