Maison >développement back-end >tutoriel php >Comment compresser par lots la taille d'un fichier image à l'aide de PHP
Comment utiliser PHP pour compresser par lots la taille des fichiers image
Introduction :
Avec le développement d'Internet, les images deviennent de plus en plus courantes dans notre vie quotidienne. Cependant, les fichiers image, petits et grands, posent également des problèmes de stockage et de transmission. Afin de réduire la taille des fichiers image et d’améliorer la vitesse de chargement du site Web, nous pouvons utiliser PHP pour compresser par lots la taille des fichiers image. Cet article explique comment utiliser PHP pour compresser par lots la taille des fichiers image et fournit des exemples de code pertinents.
Étapes :
$directory = 'images/'; $fileList = glob($directory . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$targetWidth = 200; // 目标宽度 $targetQuality = 80; // 目标质量
foreach($fileList as $file) { $imageInfo = getimagesize($file); $sourceWidth = $imageInfo[0]; // 原始宽度 $sourceHeight = $imageInfo[1]; // 原始高度 $sourceImage = imagecreatefromjpeg($file); // 根据文件类型选择对应的函数 $targetHeight = round($sourceHeight * $targetWidth / $sourceWidth); // 计算目标高度 $targetImage = imagecreatetruecolor($targetWidth, $targetHeight); // 创建目标图像 imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight); // 图像复制和缩放 imagejpeg($targetImage, $file, $targetQuality); // 保存压缩后的图片 imagedestroy($sourceImage); // 释放资源 imagedestroy($targetImage); }
$directory = 'images/'; $fileList = glob($directory . '*.{jpg,jpeg,png,gif}', GLOB_BRACE); $targetWidth = 200; // 目标宽度 $targetQuality = 80; // 目标质量 foreach($fileList as $file) { $imageInfo = getimagesize($file); $sourceWidth = $imageInfo[0]; // 原始宽度 $sourceHeight = $imageInfo[1]; // 原始高度 $sourceImage = imagecreatefromjpeg($file); // 根据文件类型选择对应的函数 $targetHeight = round($sourceHeight * $targetWidth / $sourceWidth); // 计算目标高度 $targetImage = imagecreatetruecolor($targetWidth, $targetHeight); // 创建目标图像 imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight); // 图像复制和缩放 imagejpeg($targetImage, $file, $targetQuality); // 保存压缩后的图片 imagedestroy($sourceImage); // 释放资源 imagedestroy($targetImage); }
Résumé :
En utilisant PHP En compressant le fichier image tailles par lots, nous pouvons réduire efficacement la taille des fichiers image et améliorer la vitesse de chargement du site Web. Cet article fournit une méthode simple et un exemple de code correspondant, mais il doit être adapté et étendu en fonction de la situation réelle. J'espère que cet article vous aidera à mieux traiter et optimiser les fichiers image.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!