Когда читать файл с сервера?

topol

Guest
Когда читать файл с сервера?

Всем привет!
Задачка: скрипт PHP запускает на сервере, в фоновом режиме, скрипт PHP формирования Excel-документа. В браузере во время формирования этого Excel-документа висит экран с текстом "Подождите, идёт формирование...". Файл, который формируется на сервере, не имеет фиксированного размера. Необходимо, сразу после формирования, автоматом открыть этот сформированный документ в браузере. Вопрос: как определить момент, когда файл полностью сформирован и его можно открыть?

Заранее спасибо.
 

_RVK_

Новичок
в мануале сказанно когда скрипт ожидает завершения работы внешней программы запущенной [m]exec[/m], [m]system[/m] и д.р. а когда нет. Тебе нужно не запускать скрипт фоново а ждать отработки а после этого выдавать локешин на сформированный файл.
 

_RVK_

Новичок
А вот теперь перепеши свой excel_start.php так что бы он писал в файл а не в stdout
 

topol

Guest
В таком случае не хватает времени чтобы полностью сформировать большой Excel-документ. Время выполнения ограничено (не больше 30 секунд). По таймауту вылетает. Поэтому и был сделан запуск в фоновом режиме.
 

topol

Guest
Так не годиться. Время должно быть жёстко ограничено. В фоне формирование идёт гораздо быстрее даже без увеличения лимита времени выполнения. Вот и смысл.

-~{}~ 26.07.05 15:37:

А куда он денется? Выполнится и даст мне файл. Вопрос не в методе формирования, а в методе определения статуса готовности файла к чтению.
 

_RVK_

Новичок
Время должно быть жёстко ограничено
Не дождавшись выполнения формирования файла, ты свою задачу не решишь никак, кроме как через одно место. Пойми что твой скрипт сразу завершает работу, и каким-то образом сообщить пользователю, что файл свормирован, ты не сможешь.

-~{}~ 26.07.05 15:41:

Кому даст? Твой скрипт завершил работу. Давать некому.
 

topol

Guest
Есть идея. Просто в файле, который формирует Excel-документ дописать пару методов выставления флага о готовности файла. А вызывающая программа просто будет проверять появился флаг или нет. А во время формирования вывести экран ожидания, как и было сказано в самом начале.
 

_RVK_

Новичок
Вот и я говорю
свою задачу не решишь никак, кроме как через одно место
-~{}~ 26.07.05 16:29:

Вместо того чтобы крутить цикл в ожидании окончания формирования файла не лучше ли его прямо этим скриптом и формировать?
 

topol

Guest
Нужно же как то сообщить пользователю что работа по формированию идёт. А так напрямую вылетает. Так что в фоне самый удачный на мой взгляд метод.
 
Сверху