説明
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

コメント