wp_check_filetype_and_ext()


WordPressの関数wp_check_filetype_and_ext()は、ファイルの拡張子やMIMEタイプをチェックし、そのファイルの種類を判定するために使用されます。

構文

wp_check_filetype_and_ext( string $file, string $filename, string $mimes = null );

引数の説明

  • $file (string) — 実際のファイルへのパス。
  • $filename (string) — ファイル名。
  • $mimes (string) — 許可されたMIMEタイプのリスト。省略可能。

例 1: ファイルのMIMEタイプをチェックする

指定されたファイルのMIMEタイプを取得する簡単な例です。

<?php
$file = '/path/to/file.jpg';
$filename = 'file.jpg';
$result = wp_check_filetype_and_ext( $file, $filename );
print_r( $result );
?>

例 2: 許可されたMIMEタイプを指定する

特定のMIMEタイプのみを許可してチェックする方法です。

<?php
$file = '/path/to/file.png';
$filename = 'file.png';
$mimes = array( 'jpg|jpeg|jpe' => 'image/jpeg' );
$result = wp_check_filetype_and_ext( $file, $filename, $mimes );
print_r( $result );
?>

例 3: 結果の種類を判別する

戻り値を基に、ファイルが許可されているかどうかを判別します。

<?php
$file = '/path/to/document.pdf';
$filename = 'document.pdf';
$result = wp_check_filetype_and_ext( $file, $filename );
if ( $result['ext'] && $result['type'] ) {
    echo '有効なファイルです: ' . $result['type'];
} else {
    echo '無効なファイルです。';
}
?>

例 4: MIMEタイプを確認してエラーを処理する

無効なファイルの場合にエラーを出力します。

<?php
$file = '/path/to/file.docx';
$filename = 'file.docx';
$result = wp_check_filetype_and_ext( $file, $filename );
if ( $result['ext'] === false ) {
    echo 'このファイルタイプは許可されていません。';
}
?>

例 5: MIMEタイプをフィルタリングする

カスタムのMIMEタイプリストを使用してチェックします。

<?php
$file = '/path/to/file.zip';
$filename = 'file.zip';
$mimes = array(
    'zip' => 'application/zip',
    'rar' => 'application/x-rar-compressed'
);
$result = wp_check_filetype_and_ext( $file, $filename, $mimes );
echo $result['type'];
?>

注意事項

  • $mimesに渡す値は信頼できるものである必要があります。
  • この関数は拡張子とMIMEタイプの両方をチェックしますが、一部のブラウザやサーバー構成では正確に動作しない場合があります。

関連機能: