我正在从PHP中的mySQL查询结果创建JSON字符串。但是由于某种原因,当我将结果保存到文件中进行健全性检查时,PHP的“标头”功能没有追加任何内容。下面是代码:
header("Content-Type: application/json");
if(mysql_num_rows($result)){
$dataResults = '{"Data":[';
$first = true;
$row = mysql_fetch_assoc($result);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
if($first) {
$first = false;
} else {
$dataResults = $dataResults . ',';
}
$dataResults = $dataResults . json_encode($row);
}
$dataResults = $dataResults . ']}';
} else {
$dataResults = '[]';
}
file_put_contents('/Applications/MAMP/htdocs/PHP/results.json', $dataResults);
输出看起来还可以,只是缺少“ Content-Type:application / json”。我究竟做错了什么?
最佳答案
为什么header()
将任何内容写入文件?header()
使用mod_php
中的响应挂钩或使用CGI的CGI等效项设置响应头信息。
文本文件除包含其编码(如果有)之外,不包含任何元信息。
关于php - PHP-创建JSON但未显示 header ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5048611/