0

几年前有一种观点认为,$_FILES[$file]['type'] 包含从浏览器发送的 mimetype,但不是真正的 mimetype,例如这里:

http://php.net/manual/ru/reserved.variables.files.php#109902

还是这样吗?我还需要使用 fileinfo 扩展名来检测 mimetype 吗?(我正在使用 php5.4)

4

3 回答 3

1

是的,type由浏览器提供的数据填充。

从关于POST 方法上传的手册页:

$_FILES['userfile']['type']

文件的 MIME 类型(如果浏览器提供此信息)。一个例子是"image/gif"。然而,这种 mime 类型在 PHP 端没有被检查,因此不要认为它的价值是理所当然的。

于 2013-01-19T11:59:36.407 回答
1

是的,情况仍然如此。这type是客户端提供的 MIME 信息。

于 2013-01-19T12:00:01.960 回答
1

我总是为此使用 fileinfo,但如果您使用 flash 上传器,您可能会发现几乎所有使用 flash 上传器上传的文件都被检测为application/octet-stream.

因为这个......我还有一个“从扩展名检测mimetype”方法,如果文件被application/octet-streamfileinfo检测到,它将检查它的扩展名并尝试确定真正的文件类型。

于 2013-01-19T12:05:34.663 回答