2011-05-22 6 views
3

ファイルのMIMEタイプを取得するには、どのような方法が安全で最善の方法ですか?ファイルのMIMEタイプを取得する最も良い方法

http://de3.php.net/manual/de/ref.fileinfo.php

しかしのFileInfo()操作が容易であるように思わ:私はすでにこれが見つかりました。ファイルのMIMEタイプを取得するより良い方法はありますか? 私はイメージファイルのためにそれを必要とします。

答えて

2

getimagesize()はここで

<?php 
$info = getimagesize("image.gif"); 
$type = $info['mime']; 
?> 

別の方法です。しかし、あなたは「安全な」とどのような種類のことで意味を正確に何を言うことができれば、それは役立つだろうも http://php.net/manual/en/function.getimagesize.php

<?php 
//png image called gif 
$image = 'temp.gif'; 
$size = getimagesize($image); 

if (isset($size['mime']) && $size[0]>0 && $size[1]>0) { 
    echo"Content-type: {$size['mime']}"; 
    //outputs Content-type: image/png 
} else { 
    echo"not an image"; 
} 

?> 
3

MIMEタイプを返します。あなたが心に持っている操作。

1

あなたはいつでもファイルをスキャンして、魔法のバイトと何もないことができます。 PECLには便利な機能がたくさんあると思いますが、ターゲットホスティングの可用性が向上するため、難しい方法があります。ファイル署名のために(または魔法バイト、または何でも彼らは今と呼ばれている) -

http://www.garykessler.net/library/file_sigs.html

を - 例えば、このために参照してください。受け入れるファイルの種類を知っているので、受信したファイルをスキャンして一連の署名を探してください。

もう1つの方法は、PHPがUNIXシェルを実行し、適切なフラグを付けてfileコマンドを使用してファイルをテストし、実際のファイルの内容に基づいて真のMIMEタイプを取得することです。

関連する問題