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

説明

get_allowed_mime_types() は、アップロードできるファイルの種類(拡張子とMIMEタイプ)の一覧を取得する関数です。

基本構文

get_allowed_mime_types( int|WP_User $user = null ): string[]

引数

  • $user:ユーザーのIDまたはオブジェクト(省略すると、現在のユーザー)

戻り値

「拡張子(正規表現)=> MIMEタイプ」の配列。

使い方(サンプル)

$mimes = get_allowed_mime_types();
if ( isset( $mimes['pdf'] ) ) {
	// PDFが許可されている
}

注意点

  • 配列のキーは、jpg|jpeg|jpe のように、複数の拡張子を、正規表現で並べた形です。
  • 一覧は、upload_mimes フィルターで変更できます。

実務での使いどころ

  • アップロードを受け付ける前に、許可された種類かを、確認するとき。
  • 許可されている種類の一覧を、画面に表示するとき。

よくあるミスと対処

  • 配列のキーを、1つの拡張子だと考えている(jpg|jpeg|jpe の形)。
  • 一覧を、自分で決め打ちしている。

NG例

if ( isset( $mimes['jpg'] ) ) { // キーは jpg|jpeg|jpe のため、一致しない
	// ...
}

OK例

$type = wp_check_filetype( $name, get_allowed_mime_types() );
if ( $type['type'] ) {
	// 許可された種類
}

使い分け早見表

関数 役割
get_allowed_mime_types() 許可された種類の一覧を、返す
wp_check_filetype() ファイル名から、MIMEタイプを判定する
upload_mimes 許可する種類を、変更するフィルター

関連項目

wp_check_filetype()、wp_handle_upload()

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

コメント

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