Как вернуть заголовок Content-Length для визуализированной страницы TWIG? - PullRequest
0 голосов
/ 06 июля 2018

Я рендеринг шаблона TWIG для создания файла CSV для загрузки. Чтобы показать индикатор выполнения загрузки, сервер должен вернуть заголовок Content-Length.

Я попытался преобразовать шаблон TWIG в переменную, вычислив длину этой строки, а затем выведя заголовок content-length непосредственно перед выводом отображенного шаблона:

$output = $twig->render(...);
header('Content-Length', strlen($output));
echo $output;

Но это приводит к ошибке сервера 500 с сообщением «неверно сформированный заголовок из сценария index.php: неверный заголовок: длина содержимого».

Я что-то здесь упускаю? Кажется, это должно быть тривиально.

1 Ответ

0 голосов
/ 06 июля 2018

Первый параметр, переданный header(), должен быть полной строкой заголовка. Полагаю, вы ожидали, что функция заголовка примет первый и второй параметры, такие как header(field name,field value), но это не так. Заголовки должны быть в виде одной строки:

// something like 'Content length: 1234'
header('Content-Length: ' . strlen($output));
...