2016-05-10 19 views
1

Subtitle Workshopの.srt-filesにいくつかのエラーを修正する小さなPHPスクリプトがあります。それは正常に動作しますが、.srtファイルのMIMEタイプの検証に問題があります。問題のコードの一部は次のとおりです。PHPフォームの検証と.srt MIMEタイプ?

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

.srtファイルは実際にはプレーンテキストファイルです。 .txt-fileで字幕をアップロードするとスクリプトが正常に動作します。しかし、.srt拡張子を持つ同じファイルをアップロードしようとすると、「MIMEタイプは許可されません!」というメッセージが表示されます。エラー。 'application/x-subrip'(それはhereでした)は明らかに原因です。しかし、私は代わりに何を使うべきですか?前もって感謝します!

答えて

1

私はあなたがこの検証を行うことはできないと思います。プレーンテキストファイルには、 "text/plain"、 "application/octet-stream"、 "text/str"などのような多くのMIMEタイプがあります。 ホワイトリストを作成できますが、 、おそらくコンテンツ、またはライブラリを使用しています。

+0

ありがとうございます!私は既に他のタイプのバリデーション(ファイルサイズと拡張子)を持っています。私は今、MIMEタイプのバリデーションを削除し、ファイルの内容に基づいたバリデーション(いくつかの正規表現を使用)に置き換えました。 – user2696785