ファイルのMIMEタイプを取得するには、どのような方法が安全で最善の方法ですか?ファイルのMIMEタイプを取得する最も良い方法
http://de3.php.net/manual/de/ref.fileinfo.php
しかしのFileInfo()操作が容易であるように思わ:私はすでにこれが見つかりました。ファイルのMIMEタイプを取得するより良い方法はありますか? 私はイメージファイルのためにそれを必要とします。
ファイルのMIMEタイプを取得するには、どのような方法が安全で最善の方法ですか?ファイルのMIMEタイプを取得する最も良い方法
http://de3.php.net/manual/de/ref.fileinfo.php
しかしのFileInfo()操作が容易であるように思わ:私はすでにこれが見つかりました。ファイルのMIMEタイプを取得するより良い方法はありますか? 私はイメージファイルのためにそれを必要とします。
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";
}
?>
MIMEタイプを返します。あなたが心に持っている操作。
あなたはいつでもファイルをスキャンして、魔法のバイトと何もないことができます。 PECLには便利な機能がたくさんあると思いますが、ターゲットホスティングの可用性が向上するため、難しい方法があります。ファイル署名のために(または魔法バイト、または何でも彼らは今と呼ばれている) -
http://www.garykessler.net/library/file_sigs.html
を - 例えば、このために参照してください。受け入れるファイルの種類を知っているので、受信したファイルをスキャンして一連の署名を探してください。
もう1つの方法は、PHPがUNIXシェルを実行し、適切なフラグを付けてfile
コマンドを使用してファイルをテストし、実際のファイルの内容に基づいて真のMIMEタイプを取得することです。