|
|
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
Anjey aka PMа чем всеже register_shutdown_function не устраивает?Не работает оно должным образом. По крайней мере - в свежих версиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 23:48 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
для проктологов тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 23:53 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 13:34 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
да не за что :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2006, 13:40 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
Руководство по PHPTo end the connection, but continue background processing, other languages offer ways to close STDOUT. This is impossible in PHP, as other submissions point out. In fact, the STDOUT stream has no name in a PHP web script. register_shutdown_function() is useful, and has nothing to do with that problem. Хотите "сложный" (лишних строчек 30 :) ), но "правильный" способ для продолжения вычислений после завершения основоного скрипта? Реализовать при помощи SOAP (или какого иного RPC) вызов удалённой функции в стиле "выстрелил и забыл". У меня с NuSOAP это работает. Правда, отлаживать удалённую функцию - морока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2006, 17:16 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
AlexTheRavenХотите "сложный" (лишних строчек 30 :) ), но "правильный" способ для продолжения вычислений после завершения основоного скрипта? Ждем с нетерпением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2006, 14:06 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
В phpclub был услышан ответ. Своими словами - нужно послать header('ContentLength:') с правильной длиной. Возможно, еще и "HTTP 200 OK" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2006, 16:32 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2006, 01:04 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
TellurЖдем с нетерпением А чего ждать? Формула C=2*A+B^2, A и B известны, C самим считать надо:). На клиенте: Код: plaintext 1. 2. 3. 4. 5. 6. На сервере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. KsnkСвоими словами - нужно послать header('ContentLength:') с правильной длиной. А как узнать правильную длину? Нет, ну можно, конечно, указать заведомо достаточную длину (напр. 50 Кб), "добить" пробелами, после чего пойти выполнять задачу но... Неуважение это к траффику пользователя - а вдруг у него модем и 50 Кб для него - полчаса (утрировано)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 14:04 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
KsnkСвоими словами - нужно послать header('ContentLength:') с правильной длиной. А как узнать правильную длину? ...[/quot] Не побоюсь процитировать :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 16:36 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
Ну, до strlen($text) я как-то додумался :). Проблема в том, что в этом случае в переменной $text у меня должен быть <b>весь</b> выводимый HTML. Что не всегда удобно, особенно если на стороне клиента используется JavaScript, который не выносится в отдельный файл. Приходится экранировать спецсимволы для JavaScript... потом для PHP... а потом долго и тяжело отлаживать. Да и с точки зрения ресурсов сервера - работа с длинными строками реализована на PHP, даже если это PHP 5.1, не самым оптимальным образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 10:25 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
AlexTheRavenПроблема в том, что в этом случае в переменной $text у меня должен быть <b>весь</b> выводимый HTML.Никакой проблемы нет.особенно если на стороне клиента используется JavaScript, который не выносится в отдельный файл. Приходится экранировать спецсимволы для JavaScript...Полнейшая чепуха. Всё остаётся именно так, как и было.Да и с точки зрения ресурсов сервера - работа с длинными строками реализована на PHP, даже если это PHP 5.1, не самым оптимальным образом.Опять ерунду пишете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 12:34 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
*Никакой проблемы нет. На вкус, на цвет, на понимание, что такое хорошо, а что такое плохо. *Полнейшая чепуха. Всё остаётся именно так, как и было. Так, как и было, остаётся либо javascript, либо всё остальное (если не плевать на W3C, конечно). Подумайте почему. *Опять ерунду пишете. Попробуйте в цикле сделать строку из 10'000'000 пробелов. У меня больше 30 секунд при ~100% загрузки процессора, однако. Оптимально, говорите? На VBA и то быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 19:46 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
AlexTheRaven *Никакой проблемы нет.На вкус, на цвет, на понимание, что такое хорошо, а что такое плохо.То, что вы не можете воспользоваться ГОТОВЫМ решением, не говорит о том, что его не существует. Если вам не понятны функции, которые здесь приводились - загляните в мануал да посмотрите, что они делают. *Полнейшая чепуха. Всё остаётся именно так, как и было.Так, как и было, остаётся либо javascript, либо всё остальное (если не плевать на W3C, конечно). Подумайте почему.См. выше. Что тут думать, если существующее решение это практически никак не затрагивает.e *Опять ерунду пишете.Попробуйте в цикле сделать строку из 10'000'000 пробелов. У меня больше 30 секунд при ~100% загрузки процессора, однако. Оптимально, говорите? На VBA и то быстрее.А VBA кроме генерирования 10 миллионов пробелов больше ни на что не способен - это единственный круг задач, который он умеет решать? А какую смысловую нагрузку носит ваш пример в реальной жизни? Никогда не видел смысла в синтетических тестах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 21:07 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
*А VBA кроме генерирования 10 миллионов пробелов больше ни на что не способен - это единственный круг задач, который он умеет решать? А какую смысловую нагрузку носит ваш пример в реальной жизни? Никогда не видел смысла в синтетических тестах. Что может делать VBA, можете спросить на форуме MS Access. Много чего. Легче спросить, чего не может. Впрочем, если говорить ещё и о VB - то я бы на нём разве что ядро ОС да драйвера не посоветовал писать. Насчёт того, что VBA быстрее - я неправ. У него (под Excel) только на первые 100'000 итераций уходит 30 сек, причём с увеличением длины скорость конкатенации логарифмически уменьшается. А вот exeшник, написанный и скомпиллированный в VB 6, справляется с 10'000'000 примерно за 5 секунд, и скорость конкатенации - линейная. Синтетический тест имеет очень простой смысл. Допустим надо сделать дамп БД, да так, чтобы в этом дампе над данными ещё кое-какие манипуляции проводились. Чтобы сделал дамп из PostgreSQL - и можно было развернуть в SQLite, и наоборот, чтобы искусственные идентификаторы "выравнивались", sequence'ы переставлялись. Размер файла - как раз порядка пока порядка 50 Мб. Стандартные утилиты не умеют. Как сделать просто и кроссплатформенно? Написать на PHP, что я и сделал. Работает до-о-о-олго. Хотя код вылизан. Проверено: на конкатенацию уходит 2/3 времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 16:07 |
|
||
|
(PHP) Можно ли как нибудь через PHP сказать броузеру что он уже все получил
|
|||
|---|---|---|---|
|
#18+
AlexTheRaven Синтетический тест имеет очень простой смысл. Допустим надо сделать дамп ... Проверено: на конкатенацию уходит 2/3 времени. Не кажется ли вам, что от темы топика разговор несколько отошел? Кстати, генерировать миллионы пробелов проще функцией str_repeat. А если чуть серьезнее, вот мысль, которая возможно вам поможет с вашим "кроссплатформенным" скриптом. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 17:10 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33499460&tid=1476884]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 567ms |

| 0 / 0 |
