質問:
$_FILES[...]['type'] はクライアントから直接送信されますか、それとも PHP / Apache がこの値を設定しますか?
なぜ私はこれを求めているのですか:
これは、アップロードされたファイルの種類をチェックするアップロード スクリプトを作成しているときに表示されたものです。アップロードされたファイルの MIME タイプをチェックするコードは既にありますが、そのコードは必要ですか?
質問に関連するいくつかのコード:
これは、アップロードされたファイルの検証方法で現在取得している (簡略化された) ものです。これにより、アップロードされたファイルのタイプが実際にクライアントが主張するものであることを確認する必要があります。
// Get temporary file and mime type
$src = $file["tmp_name"];
$mime = $file['type'];
// Get real file mime type, this does not guarantee that file is valid
$finfo = new finfo();
$file_mime = $finfo->file( $src, FILEINFO_MIME_TYPE );
unset($finfo);
// Test mime types against each other
if ($file_mime === $http_mime)
return true;