毎日のWeb開発では、画像のアップロードと処理は基本的で共通の機能です。画像サイズとサイズの情報を取得すると、合理的なレイアウトとリソース制御を実行できます。この記事では、PHPビルトイン関数を使用して、画像、MIMEタイプ、ファイルサイズのサイズをすばやく読み取る方法を紹介します。
PHPでは、 getImagesize()関数を介して画像の詳細なサイズ情報を取得できます。この関数は、以下を含む配列を返します。
これは、ローカル画像のサイズを読むための簡単な例です。
$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()などの関数を介して、画像のサイズ、タイプ、ファイルサイズの情報を迅速かつ効率的に取得できます。地元の写真であろうとリモートの写真を処理しているかどうかにかかわらず、これらのツールは開発効率を大幅に改善し、ユーザーエクスペリエンスを向上させることができます。