概要
wp_filesize
関数は、指定されたファイルのサイズをバイト単位で取得するために使用されます。この関数は、ファイルのサイズに基づく操作や表示を行う際に便利です。以下に、この関数がよく使用されるシナリオを挙げます。
- メディアライブラリでのファイルサイズ表示
- ダウンロードリンクの作成
- ファイルサイズ制限のチェック
- バックアップファイルのサイズ確認
- ファイルのアップロード時のエラーチェック
- リソースの使用状況を把握するためのモニタリング
- カスタムテーマ内でのファイル情報表示
- プラグインやテーマの設定ページでのファイル管理
構文
$filesize = wp_filesize( $file );
パラメータ
$file
(string): ファイルのパスを指定します。
戻り値
- (int): ファイルのサイズ(バイト)。ファイルが存在しない場合は false を返します。
関連する関数
使用可能なバージョン
- WordPress 2.6.0以降
コアファイルのパス
wp-includes/functions.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: ファイルサイズの取得
このコードは、指定したファイルのサイズを取得し、画面に表示します。
$file = 'path/to/your/file.txt';
$filesize = wp_filesize( $file );
if ( $filesize !== false ) {
echo 'ファイルサイズ: ' . $filesize . ' バイト';
} else {
echo 'ファイルが存在しません。';
}
// 引用元: https://example.com/wp_filesize_example1
サンプルコード2: アップロードファイルのサイズ制限
このコードは、アップロードされたファイルのサイズをチェックし、制限を超えている場合はエラーメッセージを表示します。
add_action( 'wp_handle_upload_prefilter', 'check_file_size' );
function check_file_size( $file ) {
$max_size = 1048576; // 1MB
$filesize = wp_filesize( $file['tmp_name'] );
if ( $filesize > $max_size ) {
$file['error'] = 'ファイルサイズは1MBを超えることはできません。';
}
return $file;
}
// 引用元: https://example.com/wp_filesize_example2
サンプルコード3: メディアライブラリでのサイズ表示
このコードは、メディアライブラリに表示されるファイルサイズを取得し、追加情報として表示します。
add_filter( 'attachment_fields_to_edit', 'display_file_size', 10, 2 );
function display_file_size( $form_fields, $post ) {
$file_path = get_attached_file( $post->ID );
$filesize = wp_filesize( $file_path );
$form_fields['file_size'] = array(
'label' => 'ファイルサイズ',
'input' => 'html',
'html' => '<p>' . $filesize . ' バイト</p>',
);
return $form_fields;
}
// 引用元: https://example.com/wp_filesize_example3
サンプルコード4: テーマ内でのファイルサイズ表示
このコードは、特定の画像ファイルのサイズを取得し、テーマのテンプレートで表示します。
$file = get_template_directory() . '/images/sample.jpg';
$filesize = wp_filesize( $file );
if ( $filesize !== false ) {
echo '画像サイズ: ' . $filesize . ' バイト';
}
// 引用元: https://example.com/wp_filesize_example4
サンプルコード5: バックアップファイルのサイズ確認
このコードは、バックアップファイルのサイズを取得し、サイズが閾値を超えているかどうかをチェックします。
$backup_file = '/path/to/backup.zip';
$filesize = wp_filesize( $backup_file );
if ( $filesize > 5242880 ) { // 5MB
echo 'バックアップファイルが大きすぎます。';
} else {
echo 'バックアップサイズは適切です。';
}
// 引用元: https://example.com/wp_filesize_example5