.zip 的 XAMPP PHP MIME 类型错误
Posted
技术标签:
【中文标题】.zip 的 XAMPP PHP MIME 类型错误【英文标题】:XAMPP PHP MIME type wrong for .zip 【发布时间】:2012-06-29 08:01:35 【问题描述】:我在 Windows XP 上使用 XAMPP 1.7.7 并上传 .zip 文件。
$_FILES shows:
array(1)
["P24_File"]=>
array(5)
["name"]=>
string(12) "File.zip"
["type"]=>
string(15) "unknown/unknown"
["tmp_name"]=>
string(22) "...\php1B.tmp"
["error"]=>
int(0)
["size"]=>
int(12927)
令人惊讶的是 finfo_file() 显示“application/zip; charset=binary”...
$_FILES 有什么问题?
【问题讨论】:
权限问题。 文件的 mime 类型,如果浏览器提供了此信息。一个例子是“image/gif”。然而,这种 mime 类型在 PHP 端没有被检查,因此不要认为它的价值是理所当然的。 【参考方案1】:此信息由浏览器提供,与服务器无关。可能客户端的计算机没有安装 ZIP 实用程序,或者浏览器由于其他原因不知道 ZIP 文件类型。
因为它可能是伪造的(或不正确的,如您的示例),所以无论如何您都不能信任该信息。
finfo_file()
是这里值得信赖的来源。
【讨论】:
以上是关于.zip 的 XAMPP PHP MIME 类型错误的主要内容,如果未能解决你的问题,请参考以下文章
PHP - 使用正确的 MIME 类型打开上传的 DOCX 文件