gpt4 book ai didi

php - 如何读取用PHP上传的文件的标题?

转载 作者:可可西里 更新时间:2023-11-01 13:40:28 26 4
gpt4 key购买 nike

能否通过PHP读取文件头信息来判断上传的文件类型?

我不想依赖 $_FILES['control_name_from_client']['type']. 正如我们所知,此属性通过读取上传文件的扩展名来确定文件类型。

如果用户重命名,比如 test.jpg -> test.xls。在这种情况下,$_FILES['control_name_from_client']['type'] 会将类型显示为 application/vnd.ms-excelimage/jpeg。如果必须执行读取 XLS 文件以获取数据以进行某些处理的代码,这自然会产生问题。

有什么建议吗?

最佳答案

尝试 finfo_file() 。您必须通过文件路径来调用它。示例:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['control_name_from_client']['tmp_name']);
finfo_close($finfo);

您需要 Fileinfo 扩展名。正如 PHP 手册所说:

The functions in this module try to guess the content type and encoding of a file by looking for certain magic byte sequences at specific positions within the file. While this is not a bullet proof approach the heuristics used do a very good job.

关于php - 如何读取用PHP上传的文件的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8444638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com