PHPを使用して画像ファイルのサイズを一括圧縮する方法

WBOY
リリース: 2023-08-25 14:28:02
オリジナル
1686 人が閲覧しました

PHPを使用して画像ファイルのサイズを一括圧縮する方法

PHP を使用して画像ファイル サイズをバッチ圧縮する方法

はじめに:
インターネットの発展に伴い、画像は私たちの日常でますます一般的になってきています。生きています。ただし、画像ファイルが大きい場合も小さい場合も、ストレージと送信の問題が発生します。画像ファイルのサイズを削減し、Web サイトの読み込み速度を向上させるために、PHP を使用して画像ファイルのサイズをバッチ圧縮できます。この記事では、PHP を使用して画像ファイル サイズをバッチ圧縮する方法を紹介し、関連するコード例を示します。

ステップ:

  1. 画像ファイルのリストを取得します:
    まず、圧縮する画像ファイルのリストを取得する必要があります。これは、フォルダー内の画像ファイルを検索するか、データベースに保存されている画像パスを読み取ることによって実現できます。以下は、フォルダー内のすべての画像ファイルを取得するためのサンプル コード スニペットです:
$directory = 'images/'; $fileList = glob($directory . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
ログイン後にコピー
  1. 圧縮画像のターゲット サイズと圧縮品質を定義します:
    画像圧縮を実行する前に、ターゲット画像のサイズと圧縮品質を定義します。通常、画像のサイズを元のサイズの半分に縮小し、圧縮品質を 80 ~ 90 に設定することができます。以下は、ターゲット サイズと圧縮品質を定義するためのサンプル コード スニペットです:
$targetWidth = 200; // 目标宽度 $targetQuality = 80; // 目标质量
ログイン後にコピー
  1. 画像圧縮を実行します:
    次に、画像圧縮に PHP の GD ライブラリを使用できます。 GD ライブラリは、画像の処理に役立つ豊富な画像処理関数を提供します。以下は、単一の画像を圧縮するためのサンプル コード スニペットです:
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); }
ログイン後にコピー
  1. 完全なコード リファレンス:
    以下は、画像ファイル サイズをバッチで圧縮するための完全なコード サンプルです:
$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 を使用して画像ファイルのサイズをバッチ圧縮することで、画像ファイルのサイズを効果的に削減し、Web サイトの読み込み速度を向上させることができます。この記事では、簡単な方法と対応するコード例を説明しますが、実際の状況に応じて調整および拡張する必要があります。この記事が画像ファイルのより適切な処理と最適化に役立つことを願っています。

以上がPHPを使用して画像ファイルのサイズを一括圧縮する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!