如何使用PHP批次壓縮圖片檔案大小
簡介:
隨著網路的發展,圖片在我們的日常生活中越來越常見。然而,大大小小的圖片檔案也帶來了儲存和傳輸的問題。為了減少圖片檔案的大小,提高網站的載入速度,我們可以使用PHP來批次壓縮圖片檔案大小。本文將介紹如何使用PHP進行批次壓縮圖片檔案大小,並提供相關的程式碼範例。
步驟:
$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); }
總結:
透過使用PHP批次壓縮圖片檔案大小,我們可以有效地減少圖片檔案的大小,提升網站的載入速度。本文提供了一個簡單的方法和相應的程式碼範例,但需要根據實際情況進行調整和擴展。希望本文可以幫助您更好地處理和優化圖片檔案。
以上是如何使用PHP批次壓縮圖片檔案大小的詳細內容。更多資訊請關注PHP中文網其他相關文章!