2017-01-14 4 views
1

イメージファイルをアップロードするためのスクリプトを作成しています。ファイルがイメージかどうかを確認する方法は2つあります。Mime TypeとExtension Checkの比較は、ファイルの種類をチェックする方が適していますか?

$imageinfo = getimagesize($filename); 
if ($imageinfo['mime'] == "image/jpeg") // UPLOAD 

ファイルが画像であるかどうかを確認するためのより良い方法は一つです:

$extension = strtolower(substr($filename, strrpos($filename, '.') + 1, strlen($filename) - strrpos($filename, '.'))); 
if ($extension == "jpg") // UPLOAD 

もう一つは、MIMEタイプをチェックすることである:

まず一つは拡張子をチェックしているのですか?

+0

リンク? – frz3993

+0

十分に公正です。しかし、私はこれらの方法のどちらが良いか知りたいですか? –

+0

どちらも信頼できるものではありません。あなたはPHP Fileinfoモジュールを見たいと思うかもしれません。 stilは100%信頼できません。 – frz3993

答えて

1

すべてのMIMEタイプに固定ファイル拡張子が付いているわけではないので、最初のものを使用してください。また、application/octet-streamのようなMIMEタイプは、複数のファイル拡張子を参照できます。ファイル拡張子を取得するのにpathinfo()を使用することもできます。以下

チェックは多分両方を使って

How to extract a file extension in PHP?

Not every MIME type has a fixed file extension...

関連する問題