現在の位置: ホーム> 最新記事一覧> PHP画像操作:画像のサイズとファイルサイズを取得する方法

PHP画像操作:画像のサイズとファイルサイズを取得する方法

gitbox 2025-06-06

導入

毎日のWeb開発では、画像のアップロードと処理は基本的で共通の機能です。画像サイズとサイズの情報を取得すると、合理的なレイアウトとリソース制御を実行できます。この記事では、PHPビルトイン関数を使用して、画像、MIMEタイプ、ファイルサイズのサイズをすばやく読み取る方法を紹介します。

getImagesize()を使用して画像サイズを取得します

PHPでは、 getImagesize()関数を介して画像の詳細なサイズ情報を取得できます。この関数は、以下を含む配列を返します。

  • 幅(ピクセル)
  • 高さ(ピクセル)
  • 画像タイプコード
  • HTML高さ属性文字列
  • HTML幅属性文字列
  • 画像タイプのmime説明
  • JPEGファイルのサムネイル情報(ある場合)
  • SWFファイルのサムネイル情報(ある場合)

これは、ローカル画像のサイズを読むための簡単な例です。

 
$size = getimagesize("example.jpg");
$width = $size[0];
$height = $size[1];

上記のコードは、 example.jpgの幅と高さをそれぞれ$ width$ heighの変数に割り当てます。

リモート画像サイズを取得します

getImagesize()は、リモート画像に関する情報の読み取りもサポートしています。画像の完全なURLをパラメーターとして渡すだけが必要です。

 
$size = getimagesize("https://example.com/example.jpg");
$width = $size[0];
$height = $size[1];

これにより、リモート画像のサイズデータを取得できます。これは、ローカル画像のサイズと同じです。

マイムタイプの画像を取得します

サイズに加えて、 getImagesize()は、画像のmimeタイプ情報を返すこともできます。これは、コンテンツの検証または応答ヘッダーの設定によく使用されます。

 
$size = getimagesize("example.jpg");
$mime_type = $size['mime'];

例で返されるMIMEタイプは、画像/JPEG画像/PNGなどです。

画像ファイルサイズを取得します

PHPを使用して画像サイズを取得するのは非常に簡単です。 filesize()関数を介して実現でき、ユニットはバイトです。

 
$size = filesize("example.jpg");

上記のコードは、 example.jpgのファイルサイズを$ size変数に割り当てます。

フレンドリーユニットへのファイルサイズをフォーマットします

ファイルサイズをより適切に実証するために、次の機能を介して、より読みやすい形式(KB、MBなど)に変換できます。

 
function format_size($bytes) {
    $units = array('B', 'KB', 'MB', 'GB', 'TB');
    $i = 0;
    while ($bytes >= 1024) {
        $bytes /= 1024;
        $i++;
    }
    return round($bytes, 2) . ' ' . $units[$i];
}

$size = filesize("example.jpg");
$formatted_size = format_size($size);

この方法では、元のバイト値を10.5 kbなどのよりフレンドリーなディスプレイ形式に変換できます。

要約します

PHPが提供するgetImagesize()filesize()などの関数を介して、画像のサイズ、タイプ、ファイルサイズの情報を迅速かつ効率的に取得できます。地元の写真であろうとリモートの写真を処理しているかどうかにかかわらず、これらのツールは開発効率を大幅に改善し、ユーザーエクスペリエンスを向上させることができます。