Why is PHP not returning correct mime for json files?(为什么PHP没有为json文件返回正确的MIME?)
问题描述
我知道json文件的正确MIME类型是applicattion/json
,这一点可能在本文What is the correct JSON content type?中得到了证实。
然而,我想知道为什么我的PHP安装返回text/plain
。在解析json文件之前,我需要测试正确的MIME。
我有以下代码
其中$fileType
返回text/plain
而不是applicattion/json
。
同样,$_FILES['type']
返回application/octet-stream
而不是applicattion/json
。
我错过了什么?
编辑
我正在通过jQuery AJAX发送文件:
推荐答案
finfo
通过其内容标识文件类型,而不是文件扩展名。
只有具有签名的文件才能被正确识别。否则,将根据其内容标识为text/plain
(ASCII)或application/octet-stream
(二进制)。
遗憾的是,JSON编码的内容没有签名,因此被标识为text/plain
或application/octet-stream
。
如需进一步阅读,请访问:-
List of file signatures
希望这能有所帮助。
下面的[编辑1]是我针对上述内容的测试脚本。干杯。这篇关于为什么PHP没有为json文件返回正确的MIME?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!