PHP - создает JSON, но заголовок не появляется - PullRequest
0 голосов
/ 19 февраля 2011

Я создаю строку JSON из результатов запроса mySQL в PHP. Но по какой-то причине 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». Что я делаю не так?

Ответы [ 3 ]

3 голосов
/ 19 февраля 2011

header добавляет заголовки HTTP к ответу HTTP веб-сервера.Он не производит никакого вывода или записывает что-либо в любой файл.Файлы не имеют заголовков HTTP, они являются частью протокола HTTP, языка, используемого для связи между веб-серверами и браузерами.

1 голос
/ 19 февраля 2011

Зачем header() записывать что-либо в файл?

header() устанавливает информацию заголовка ответа, используя хук ответа в mod_php или любой другой эквивалент CGI, если используется CGI.

Текстовые файлы не содержат метаинформации, кроме их кодировки (если таковая).

0 голосов
/ 19 февраля 2011

Так как несколько человек заявили, что функция заголовка не будет ничего записывать в файл, я покажу вам код, где он делает.this:

<?xml version="1.0"?>
<markers>
<marker name="Lake House Diagnostic Program " address="123 S. Lake St., Aurora" lat="41.757786" lng="-88.321419" distance="0.000166859373254629" Webpage="http://www.auntmarthas.org/"/>
</markers>

Итак, вы увидите, что он создаст заголовок при создании вывода XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...