optimitzar imatges en php

optimitzar imatges en php

<?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!";
?>


  • Categoria: web_development
  • Etiquetes: php, image
  • Data de creació: 21/01/2025
  • Última actualització: 21/01/2025