上传文件中的Mime类型错误

时间:2012-01-08 05:12:20

标签: php firefox file-upload mime-types

我在我的网站上有文件上传表格,我检查mime类型的上传文件以允许或拒绝上传。它运行良好,直到我将我的Firefox升级到3.6.11(在ubuntu中)。但现在无法上传Doc文件。我检查了mime类型的文件,但它是'application / x-php'而不是'application / vnd.ms-word'或其他msword mime-types。

我用

echo $_FILES[$fileName]['type'];

看到哑剧型。我从firefox 8和firefox 3.6上传相同的文件,上面代码的输出是:

FireFox 8: application/vnd.ms-word
FireFox 3.6: application/x-php

它是firefox的错误还是我必须更改我的代码?

我使用PHP。

1 个答案:

答案 0 :(得分:3)

$_FILES[...]['type']只是任意的,用户提供的,最佳猜测,不可靠(如您所见)客户端提供的信息,可能与实际文件有关,也可能没有。 永远不要使用它。

尝试在服务器上自己检测MIME类型。例如,技术,请参阅How to get the content-type of a file in PHP?