wp_check_filetype() の使い方|説明・引数・注意点

説明

wp_check_filetype() は、ファイル名の拡張子から、MIMEタイプを調べる関数です。

基本構文

wp_check_filetype( string $filename, string[] $mimes = null ): array

引数

  • $filename:ファイル名
  • $mimes:許可するMIMEタイプの連想配列

戻り値

ext と type を含む配列。

使い方(サンプル)

$info = wp_check_filetype( 'photo.jpg' );
var_dump( $info['type'] );

注意点

  • 拡張子ベースの簡易判定です。ファイルの中身までは検証しません。

実務での使いどころ

  • ファイル名の拡張子から、許可されたMIMEタイプかを判定するとき。
  • アップロードの前に、拡張子が許可されているかを確認するとき。

よくあるミスと対処

  • ファイル名の拡張子だけで判定している。拡張子は偽装できる。アップロードされたファイルの検証には、中身も確認する(wp_check_filetype_and_ext() や wp_get_image_mime())。
  • 許可されていない拡張子では、ext と type が false になる。確認せずに使う。

NG例

$type = wp_check_filetype( $name );
echo $type['type']; // 拡張子が許可されていないと false

OK例

$type = wp_check_filetype( $name );
if ( $type['type'] ) {
	// 許可された拡張子
}

使い分け早見表

関数 判定の方法
wp_check_filetype() ファイル名の拡張子から判定する
wp_get_image_mime() ファイルの中身(画像)から判定する
wp_handle_upload() アップロードを処理する

関連項目

wp_get_image_mime()、get_allowed_mime_types()

公式リファレンス:wp_check_filetype() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました