PHP 表单验证和 .srt MIME 类型?

PHP form validation and .srt MIME type?

我有一个小 PHP 脚本可以修复 Subtitle Workshop .srt 文件中的一些错误。它工作正常,但我在验证 .srt-files MIME 类型时遇到问题。这是有问题的代码的一部分:

if ( $_FILES['file']['type'] != 'text/plain' &&
$_FILES['file']['type'] != 'application/x-subrip') {    
$error .= '<p>MIME type is not allowed!</p>';
}

.srt 文件实际上是纯文本文件。当我在 .txt 文件中上传字幕时,我的脚本工作正常。但是,当我尝试上传扩展名为 .srt 的同一文件时,出现 "MIME type is not allowed!" 错误。 'application/x-subrip'(发现它here)显然是罪魁祸首。但是我应该用什么呢?提前致谢!

我认为您无法进行此验证。纯文本文件可能有很多 mimetype,如 "text/plain"、"application/octet-stream"、"text/str" 等。 您可以做一个白名单,但还需要做另一种类型的验证,可能是通过内容,或者使用库。