|
|
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Нужн предоставить приложению экспортировать данные бд в файл, количество данных из бд может быть довольно значительным, например, десятки и сотни мегабайт. Пока данные все данные не получены из бд, страница висит, что может смущать пользователя и браузер не выдает окно сохранения файла. Я видел системы, которые очень быстро начинали выдавать данные клиенту. Можно ли как-нибудь улучшить код для индикации начала экспорта. Код примерно такой: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. Спасибо за информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 15:45:56 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, я так понимаю вы говарите о функции flush() ? имхо данные таких размеров надо зиповать перед выдачей юзеру. и у меня такое ощющение что еще тормазит ваша ООП оболочка под базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 15:48:45 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Нет, я не говорил о функции flush. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 15:53:01 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
РенатOLEG_2005, я так понимаю вы говарите о функции flush() ? имхо данные таких размеров надо зиповать перед выдачей юзеру. и у меня такое ощющение что еще тормазит ваша ООП оболочка под базу. Могли бы вы скачать, что вы имели в виду о функции flush? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 15:54:47 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, у вас идет генерация файла больших размеров. Вы хотите чтобы файл отправлялся сразу не ожидая окончания генерации. Правильно я вас понял? Ну используйте эту функцию для того что отправить все что в кеше - браузеру пользователя. Если не парвильно то скажите что хотите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 16:08:50 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Да, я хочц чтобы файл отправлялся сразу не ожидая окончания генерации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 16:13:24 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Да, я хочу, чтобы файл отправлялся сразу, не ожидая окончания генерации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 16:14:08 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Просто интересно, что получит в итоге клиент, если он будет принимать файл быстрее, чем этот файл формируется скриптом? Размер файла заранее неизвестен, если правильно понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 17:22:44 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Да, размер файла сейчас не передается клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2012, 17:27:44 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Данные код не работает. Данные всё равно отправляеются только после получения всех данных. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 10:22:24 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, я всегда удмал это надо в цикле делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:08:46 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Вот довольно простой пример. Данные выводятся, только когда цикл закончил работу. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:18:01 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Я думаю, в данном случае buffer даже лишнее, но тоже не работает: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:23:11 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Используется php 5.3 и apache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:40:52 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Данные всё равно отправляеются только после получения всех данных.В некоторых случаях такое поведение имеет место быть. Конфигурацию вебсервера опишите подробно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:44:59 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:48:34 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
В коде я задаю параметры: Код: php 1. 2. Не совсем понятно, в чем могут быть проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 11:54:51 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
PHP как установлен - модуль, cgi, fastcgi, другой способ? С модулем должно работать. Апач сам отдает контент или за фронтендом прячется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 13:00:50 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
PHP установлен на модуль. Используется только Apache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 13:34:56 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005В коде я задаю параметры: Код: php 1. 2. Не совсем понятно, в чем могут быть проблемы. вы точно понимаете что делаете? выставляете output_buffering в ноль а ниже пытаетесь управлять буферизацией) почитайте мануал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 14:29:20 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
А что здесь не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 14:35:50 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Здесь я отключаю буферизцию и сжатие, полагаю, что вторая инструкция лишняя, так как это значение по умлочанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 14:39:06 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 15:38:38 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
РенатOLEG_2005А что здесь не так? почитайте - будет полезно http://www.php.su/functions/?cat=outcontrol Похоже данные у меня установлены также: utput_buffering "0" output_handler no value implicit_flush "0" Пока непонятно, в чем проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 15:58:41 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, вы тут привели не весь код, и скорее всего долгое выполнение у вас до этого цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 17:36:03 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
?, Проблема сейчас даже с этим кодом. Вывод осуществляется, после окончания цикла. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 17:56:01 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Забыла уточнить, что это код вызвается в котроллере Zend Framework. Мне кажется, что проблема в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 17:57:17 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Я вынес в отдельный скрипт код, весь код: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 18:03:14 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, а попробуйте сделать: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и потом скажите, почему же ваш "не работает" а данный скрипт работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 18:45:41 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Пардон забыл на написать данный скрипт работает в отдельном скрипте, но не работает в контроллере Zend Framework. <?php ini_set('output_buffering', 0); ini_set('zlib.output_compression', 0); ob_start(); for ($i=0; $i<5; $i++) { echo $i . '<br/>';; ob_flush(); flush(); sleep(1); } ob_end_flush(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 19:13:05 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, что ввел в заблуждение, ранее в сообщении о том, что я вынес в отдельны скрип код из контроллера, я забыл написать, что он работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 19:15:18 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
РенатOLEG_2005, а попробуйте сделать: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и потом скажите, почему же ваш "не работает" а данный скрипт работает Скажите, пожалуйста, ваш код работает, если в php.ini output_buffer = 4096? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 20:48:26 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Странно, данный код работает только, если в php.ini output_buffer = 0. ini_set('output_buffering', 0) почему-то не переопределяет данный параметр, например, если задать его в php.ini 4096 код перестает работать, а get_ini('output_buffering') возвращает 4096, после ini_set('output_buffering', 0); Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2012, 20:55:51 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Судя по этой ссылке http://php.net/manual/en/configuration.changes.modes.php нельзя переопределить output_buffering с помощью ini_set. Пока непонятно, почему код не работате, если в php.ini output_buffering = 4096, но работает, если output_buffering = 0 и что можно сделать, чтобы код работал, когда output_buffering = 4096. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2012, 08:56:03 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Чтобы код работал при output_buffering = 4096 в php.ini заменил: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. На код: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. Может быть у кого-нибудь есть идея лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2012, 09:35:45 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Чуть лучше наверное, так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. Все равно, по-моему, не очень красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2012, 09:49:45 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы работало в контроллере Zend Framework, можно добвить в Bootstrap.php, что-то вроде этого: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2012, 17:22:10 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005Чуть лучше наверное, так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. Все равно, по-моему, не очень красиво. Интересно, а как обычно решают эту задачу. Есть ли вариан лучше? Может быть кто-нибудь сталкивался с подобными проблемами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 09:52:30 |
|
||
|
информировать пользователя о начале экспорта данных в PHP
|
|||
|---|---|---|---|
|
#18+
OLEG_2005, что значит - получше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2012, 10:29:24 |
|
||
|
|

start [/forum/topic.php?all=1&fid=23&tid=1465259]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 184ms |
| total: | 464ms |

| 0 / 0 |
