概要
file_is_displayable_image
関数は、ファイルが Web ページで表示できる画像であるかどうかを調べるために使用されます。この関数は、画像ファイルの MIME タイプをチェックし、表示可能な画像(例えば、JPEG、PNG、GIF など)であるかどうかを判断するために役立ちます。
この関数は、以下のような機能を実装する際によく使われます。
- 画像のアップロード処理
- アップロードされた画像の表示前チェック
- カスタム投稿タイプでの画像表示の制御
- メディアライブラリでの画像フィルタリング
- サムネイルの生成時の画像チェック
- ユーザーがアップロードしたファイルの検証
- 画像ギャラリーの構築
- 画像の埋め込み処理
構文
file_is_displayable_image( $file );
パラメータ
$file
(string) – チェックする画像ファイルのパス。
戻り値
- 成功した場合は
true
を返し、失敗した場合はfalse
を返します。
関連する関数
使用可能なバージョン
この関数は、WordPress のバージョン 2.0.0 以降で使用可能です。
コアファイルのパス
wp-includes/media.php
サンプルコード
サンプルコード 1: 画像が表示可能かチェックする
$file_path = 'path/to/image.jpg';
if ( file_is_displayable_image( $file_path ) ) {
echo "この画像は表示可能です。";
} else {
echo "このファイルは表示可能な画像ではありません。";
}
このサンプルコードは、特定のパスにあるファイルが表示可能な画像かどうかをチェックし、結果を表示します。
サンプルコード 2: 画像ファイルアップロード時のバリデーション
if ( isset( $_FILES['uploaded_file'] ) ) {
$file = $_FILES['uploaded_file']['tmp_name'];
if ( file_is_displayable_image( $file ) ) {
// アップロード処理
echo "画像がアップロードされました。";
} else {
echo "無効な画像ファイルです。";
}
}
このコードは、ユーザーがアップロードしたファイルが表示可能な画像であるかをチェックしています。
サンプルコード 3: メディアライブラリでの画像のフィルタリング
function filter_uploaded_files( $file ) {
if ( ! file_is_displayable_image( $file['tmp_name'] ) ) {
$file['error'] = '画像ファイルのみアップロード可能です。';
}
return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'filter_uploaded_files' );
このコードは、メディアライブラリにファイルをアップロードする際に、表示可能な画像だけを許可します。
サンプルコード 4: 投稿内の画像チェック
$post_id = 123; // 投稿ID
$attachments = get_attached_media( 'image', $post_id );
foreach ( $attachments as $attachment ) {
if ( file_is_displayable_image( get_attached_file( $attachment->ID ) ) ) {
echo '画像が表示されます。';
}
}
このコードは、特定の投稿に添付されている全ての画像が表示可能かをチェックします。
サンプルコード 5: 画像 URL の検証
$image_url = 'http://example.com/image.jpg';
$file_path = parse_url( $image_url, PHP_URL_PATH );
if ( file_is_displayable_image( $file_path ) ) {
echo "この画像は表示可能です。";
} else {
echo "このURLのファイルは表示可能な画像ではありません。";
}
このサンプルコードは、指定された画像 URL が指すファイルが表示可能な画像かを確認します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
特定のバージョンで非推奨または削除された情報はありません。