概要
wp_getimagesize
関数は、指定された画像ファイルの大きさを取得するための関数です。この関数は、画像の幅、高さ、サイズ、および MIME タイプを取得する際によく使用されます。具体的には以下の場面で使用されることが多いです。
- サムネイル生成時の画像サイズ取得
- 画像のアップロード時にサイズ情報を記録
- 画像表示時のレスポンシブデザイン調整
- ギャラリー機能における画像情報収集
- カスタム投稿タイプでの画像メタデータ取得
- プラグイン内での画像処理
- テーマ内での画像表示最適化
- フロントエンドでの画像の最適化計算
構文
array|false wp_getimagesize( string $img, array $array = null )
パラメータ
$img
(string): 画像ファイルのパス(フルパスまたは相対パス)。$array
(array|null): オプションの配列。サイズ情報の構造を指定できます。
戻り値
- 成功した場合、画像のサイズに関する情報を含む配列(幅、高さ、サイズ、MIME タイプなど)を返します。
- 失敗した場合は、
false
を返します。
関連する関数
使用可能なバージョン
wp_getimagesize
は、WordPress 2.0.0 以降で利用可能です。
依存するコアファイルのパス
wp-includes/media.php
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head | 〇 |
サンプルコード
サンプル1: 画像のサイズを取得する
このサンプルでは、指定した画像の幅と高さを取得して表示します。
$image_path = 'path/to/your/image.jpg';
$size = wp_getimagesize($image_path);
if ($size) {
echo '幅: ' . $size[0] . 'px, 高さ: ' . $size[1] . 'px';
}
サンプル2: 画像のメタ情報を取得する
このサンプルでは、画像ファイルから幅と高さを取得し、配列形式で出力します。
$image_path = 'path/to/your/image.jpg';
$image_info = wp_getimagesize($image_path);
$img_data = [
'幅' => $image_info[0],
'高さ' => $image_info[1],
'MIME タイプ' => $image_info['mime'],
];
print_r($img_data);
サンプル3: 画像のチェック
指定した画像が存在し、サイズ情報が取得できるか確認します。
$image_path = 'path/to/your/image.jpg';
if (file_exists($image_path)) {
$size = wp_getimagesize($image_path);
if ($size) {
echo '画像サイズは正常です。';
} else {
echo 'サイズ情報を取得できませんでした。';
}
} else {
echo '画像が見つかりません。';
}
サンプル4: 画像のタイプを取得する
このサンプルでは、取得した画像の MIME タイプを表示します。
$image_path = 'path/to/your/image.jpg';
$size_info = wp_getimagesize($image_path);
if ($size_info) {
echo '画像のMIMEタイプ: ' . $size_info['mime'];
} else {
echo '画像のサイズ情報を取得できませんでした。';
}
サンプル5: サーバー向けの画像情報取得
特定の条件下で画像情報を取得し、サーバー側でチェックします。
$image_path = 'path/to/your/image.jpg';
if (is_readable($image_path)) {
$size_info = wp_getimagesize($image_path);
if ($size_info) {
echo '画像の幅と高さは ' . $size_info[0] . 'px x ' . $size_info[1] . 'px です。';
} else {
echo '画像の大きさを取得できません。';
}
} else {
echo '画像ファイルが読み取れません。';
}