Правильная выдача заголовка Content-Length
« Отладка PHP-скриптовСоциальная сеть будущего »

2 комментариев

  1. § Денис said on :

    Спасибо за полезную информацию, но еще хотелось бы увидеть способ с chunked transfer

  2. § ®   said on :

    Вообще, обычно chunked transfer применяется тогда, когда длина выдаваемой страницы целиком заранее не известна. В этом случае Content-Length лучше не выдавать вообще. А длина каждого отдельного chunk передается перед началом его самого, там все то же самое, только нет слов Content-Lenght и саму длину chunk нужно выдавать не через header, а обычным echo и переводить в hex.
    То есть получаем примерно такое:
    ob_start();
    header(’Transfer-Encoding: chunked’);
    while (!$finish) {
    // что-то делаем с выдачей с помощью echo
    echo sprintf("%X\r\n",ob_get_length()); // выдаем длину текущего chunk в hex
    ob_flush(); // выдаем сам chunk
    }
    echo “0\r\n"; // пустой chunk означает завершение передачи


Идет загрузка формы...