我正在从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/

10-09 16:50