Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод кусочками / 25 сообщений из 32, страница 1 из 2
11.08.2011, 20:37
    #37391723
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Здравствуйте, подскажите что за настройки отвечают на сервере в следующем вопросе.
есть скрипт
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<?php
    $n= 0 ;

    $lines =  file  ( "text.doc" ) ;

     echo  '<table border="1"><tr><th>N</th><th>TEXT</th></tr>' ;
     foreach  ( $lines  as  $line ) {
        $n++;
         echo  "<tr><td>$n</td><td>$line</td></tr>" ;
         flush () ;
         sleep ( 1 );
 }

 echo  '</table>';
?>

text.doc - несколько слов.
при обращении к нему страница грузится и выводит сразу все строчки. в локалхосте грузится по строчкам 1 строка, 2 строка, 3 строка, и т.д. в общем подгружается постепенно. что необходим в php.ini или апаче проделать?
...
Рейтинг: 0 / 0
11.08.2011, 21:00
    #37391736
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Что и где у Вас на локалхосте грузится построчно?
Пока вся страница не загрузится, браузер ничего не отобразит. Уберите свой слип.
...
Рейтинг: 0 / 0
11.08.2011, 21:22
    #37391752
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
авторПока вся страница не загрузится, браузер ничего не отобразит. Уберите свой слип.
Да почему же.
Отобразит, только видимо что-то мешает, фаервол или еще чего. Там вроде какая-то настройка еще есть отвечающая за это.
...
Рейтинг: 0 / 0
11.08.2011, 21:51
    #37391771
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
flush
автор.....
Even the browser may buffer its input before displaying it. Netscape, for example, buffers text until it receives an end-of-line or the beginning of a tag, and it won't render tables until the </table> tag of the outermost table is seen.

Some versions of Microsoft Internet Explorer will only start to display the page after they have received 256 bytes of output, so you may need to send extra whitespace before flushing to get those browsers to display the page.

1. попробуй не в table а просто echo $line . '<br/>';
2. попробуй подгрузить 256 bytes of output (скажем пробелами) перед выводом.
3. что-то ещё было - сейчас не припомню ;)
...
Рейтинг: 0 / 0
11.08.2011, 21:54
    #37391777
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Гхм... такая байда конечно будет работать, но только в несколько тепличных условиях. Когда PHP установлен модулем и сжатие отключено и никаких кеширующих проксей... Мож еще какие условия надо соблюсти, не могу сказать точно.
...
Рейтинг: 0 / 0
11.08.2011, 22:09
    #37391782
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Это, друзья, - фантастика. При таком раскладе, браузер ничего отображать не должен. Загрузка порциями - только через аякс. Типа, креатеЭлемент и аппендЧилд строчки в таблицу. Хотя, фиг его знает. Браузеры разные бывают. Здесь нужны эксперименты.
...
Рейтинг: 0 / 0
12.08.2011, 05:16
    #37391926
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
ShSergeЭто, друзья, - фантастика. При таком раскладе, браузер ничего отображать не должен. Загрузка порциями - только через аякс.
эта "фантастика" называется управление буферизацией вывода)) с применением этого работали ранние чаты например.
...
Рейтинг: 0 / 0
12.08.2011, 09:08
    #37392028
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
r uShSergeЭто, друзья, - фантастика. При таком раскладе, браузер ничего отображать не должен. Загрузка порциями - только через аякс.
эта "фантастика" называется управление буферизацией вывода)) с применением этого работали ранние чаты например.
ну так что необходимо настроить на сервере?
vkle что мне следует изменить в настройках?
...
Рейтинг: 0 / 0
12.08.2011, 09:35
    #37392064
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
vkle,
или скажите как это объяснить хостеру что б он это сделал.
...
Рейтинг: 0 / 0
12.08.2011, 11:18
    #37392268
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Kwintavkle,
или скажите как это объяснить хостеру что б он это сделал.Да прямо так и объяснить. А потом пойти на VPS и настроить там как надо. Только есть ли смысл упираться именно в эту технологию?
...
Рейтинг: 0 / 0
12.08.2011, 12:36
    #37392457
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
vkle,
а самому такие настройки не прописать в хаттакесе?
...
Рейтинг: 0 / 0
12.08.2011, 13:19
    #37392561
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Я так понимаю, что ShSerge имел ввиду то, что БРАУЗЕР не отображает таблицу до тех пор, пока не примет ее полностью и не произведет расчет всех ее ячеек. Хотя может нынче браузеры строки таблиц, в которых нет rowspan отображают построчно, а при поступлении новых строк перерисовывают всю таблицу вместе с предыдущими. Никогда не заморачивался таким вопросом...

Kwintaчто необходим в php.ini или апаче проделать?
1. Проделать для чего? Ты описал, что в одном случае так, а в другом - так. Но чего ты хочешь - не сказал.

2. В php ты делаешь flush(). Но вообще-то после этого, твои несколько десятков новых символов могут попасть в кеш компрессора, если передача по http/1.1, да и без сжатия контент по-дефолту может передаваться блоками, например, по 4 Кб. А потом в пути проходит через десятки узлов, которые тоже могут изменить незначительно задержки между пакетами и пригнать их все в один момент.

Так что, в общем случае, на приведенном тобой "скудном" примере эксперименты ставить затруднительно и "проблема" может быть как в твоей власти, так и не в твоей. Нужно хотя бы объем выводимого текста значительно увеличить и задержки секунд по 5, чтобы адекватно проанализировать разницу (но в таком случае, может обнаружиться, что ее и нет).

Ну а для начала хотелось бы узнать, в чем собственно проблема и чего ты хочешь?
Если хочешь при длительной работе скрипта выводить промежуточные результаты, то как-минимум убери таблицу из верстки и выводи просто div-ы или же вовсе открой <pre> и пихай в него строчки типа "текст<br />".
...
Рейтинг: 0 / 0
12.08.2011, 14:48
    #37392846
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
http://95.58.85.141/
вот так мне надо. условие все такие же. скрипты и text.doc все тоже. только сервер по другому настроен.
...
Рейтинг: 0 / 0
12.08.2011, 15:05
    #37392906
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Kwinta http://95.58.85.141/
вот так мне надо. условие все такие же. скрипты и text.doc все тоже. только сервер по другому настроен.
Оно да, по частям выводит, хотя, чтобы всегда хорошо и правильно это происходило, не сделать.
Заюзайте аякс что-ли, с клиентским таймером - это точно будет корректно работать.
...
Рейтинг: 0 / 0
12.08.2011, 15:38
    #37393016
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
авторОно да, по частям выводит

ну, незнаю! у меня никакими кусочками не выводит. Долго ждёт и, вся таблица целиком. ;)
...
Рейтинг: 0 / 0
12.08.2011, 15:55
    #37393065
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
vladgrigавторОно да, по частям выводит

ну, незнаю! у меня никакими кусочками не выводит. Долго ждёт и, вся таблица целиком. ;)
FF 5.0.
...
Рейтинг: 0 / 0
12.08.2011, 15:56
    #37393067
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
vladgrig,
вот и у меня сразу вся толпа вываливается, а по ссылке все норм то что мне необходимо, вот и хочу узнать что у это за настройки, хотя б знать что это дает такой вывод. что б правильно вопрос то задать или указать что мне необходимо)
...
Рейтинг: 0 / 0
12.08.2011, 15:58
    #37393074
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
В Хроме тоже по частям. А Вот в ИЕ - точно. Сначала долго ждёт, а потом всё сразу выплёвывает.
Т.е., что и требовалось доказать. Таким макаром хорошо не получится.
...
Рейтинг: 0 / 0
12.08.2011, 16:02
    #37393087
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Kwinta,

Короче, не тратьте время зря. Браузер не обязан вообще что-то выводить до тех пор, пока не построен ДОМ. А если где-то что-то и выводится, то это - фича, если не бага.
...
Рейтинг: 0 / 0
12.08.2011, 16:28
    #37393188
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
1. На локальном хосте у тебя проц сколько ядер?
2. Без table пробовал то же самое?
3. Локальный хост - это что? IIS, Денвер, иои что еще?
...
Рейтинг: 0 / 0
12.08.2011, 16:44
    #37393233
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
авторFF 5.0.
proxy!
...
Рейтинг: 0 / 0
12.08.2011, 22:19
    #37393585
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
ShSergeВот в ИЕ - точно. Сначала долго ждёт, а потом всё сразу выплёвывает.Это скорее особенность ИЕ - отображать таблицу только когда она будет загружена целиком. По крайней мере, в 6 версии было именно так, а после не тестил, честно говоря - не надо было почему то :-)

Kwintaвот и хочу узнать что у это за настройки, хотя б знать что это дает такой вывод. что б правильно вопрос то задать или указать что мне необходимо) Так вроде уже раньше было говорено... Настройки - это как то немного ошибочно сказано. Скорее, можно говорить об архитектуре серверной части и канала от сервера до клиента. Чтоб такая схема заработала, нужно прямое (или непосредственное, если можно так выразиться) соединение между серверным ПО (в данном случае это PHP) и клиентом (браузером). Вряд ли без подробного описания существующей архитектуры можно посоветовать где конкретно нужно пнуть, а где плюнуть чтоб заработало. Смотрите по месту... В частности, должны быть убраны все фичи, которые обрабатывают отдаваемый скриптом контент целиком. Это может быть любой http-прокси (в том числе, nginx, за которым прячется Apache) - он может кешировать у себя страницу целиком. Это может быть gzip-сжатие - насколько знаю, оно работает только с целым файлом (хтмл-кодом) страницы. Разного рода CGI имеют свою буферизацию. Все эти компоненты следует исключить. Ну и ИЕ в качестве клиента тоже не годится для отображения таблицы.
...
Рейтинг: 0 / 0
13.08.2011, 12:15
    #37393864
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Спасибо, за советы.
vkle отдельный респект.
...
Рейтинг: 0 / 0
13.08.2011, 12:23
    #37393871
Kwinta
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Хостер сказал следующее.
"Так как хостинг сделан на основе кластера - фронтенд принимает запрос- передает их обрабатывающим серверам , которые выполняют скрипт и по его завершению результат возвращают фронтенду".
...
Рейтинг: 0 / 0
13.08.2011, 22:58
    #37394269
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывод кусочками
Весьма распространенная конфигурация, что то вроде связки nginx + apache. Разумеется, хостер не будет ничего перекраивать и в лучшем случае для предложит ВПС для таких вот хотелок. Но администрировать его придется скорей всего самостоятельно. Возможно, хостер сделает первоначальную настройку за отдельную плату. Однако, Вы уже поняли, что одним только хостингом проблема не решится...

Пожалуй, дополню свой предыдущий ответ. Такой вот "вывод кусочками" имеет полное право на существование в не слишком большой локальной сети организации, где все вопросы конфигурирования сервера и пути до конечного пользователя можно решить достаточно безболезненно. В глобальной сети Интернет вряд ли удастся добиться 100% надежности хотя бы даже из-за многообразия решений интернет-провайдеров по проксированию HTTP-трафика, клиентских файрволлов и настроек браузеров.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод кусочками / 25 сообщений из 32, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]