![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Paher |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Добрый день!!!
Подскажите, кто знает. Дело в следующем. Из основного скрипта вызывается функция, эта функция создает файл с данными и возвращает управление. Далее скрипт начинает работать с этим файлом. Проблема в том, что файл начинает использоваться до того, как запишется на винт. В чем косяк? как сделать так, чтобы функция возвращала управление только после полной записи файла на диск? Это сообщение отредактировал(а) Paher - 16.10.2009, 14:37 |
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
это как же так получается?
вызвали функцию func(); пока она не завершится управление обратно в точку ее вызова не вернется. поэтому как может начаться чтение файла, которое идет после вызова функции, как я понял, до того как функция отработает и вернет управление? |
|||
|
||||
| Paher |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Сам не понимаю... Может, лучше рассказать подробнее. пхп процедура запускается при нажатии кнопки в окне браузера( т.е. пользователь инициирует создание файла на сервере, используется AJAX). Сразу же после вызова этой процедуры в теории должен скачиваться полученный файл с помощью следующей команды JS
Однако в реальности открывается новая вкладка с адресом host+'/files/export.zip' с ошибкой о ненайденом файле. Если тут же нажать F5, то файл скачивается нормально, как уже существующий. P.S. Что интересно, на виндовом сервере все работает, как надо, а вот линух подводит ожидания |
|||
|
||||
| lelik133 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 517 Регистрация: 5.2.2003 Где: Москва Репутация: 5 Всего: 14 |
думаю не php и не в linux дело
скорее js код не дожидается ответа от php скрипта который он дергает. как вызываете его? |
|||
|
||||
| Paher |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Но в винде-то работает...
Использую библиотеку extjs создаю data.proxy c url host+'/files/export.zip' , и при нажатии на кнопку data.store.load() |
|||
|
||||
| NewDima |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: 10 Всего: 12 |
Paher, можно подробнее последовательность действий? а то первое сообщение сильно отличается от второго. Промежутки между запросом аякса и остальным не выидны
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
на локали у себя всё быстро работает а там пока сервер подумает, решит что-то сделать, а вы его уже вторым запросом на существование файла пытаете в аякс есть настройка, которая позволяет не выполнять следующие действия, пока не будет получен ответ с сервера а во-вторых, обычно последующие действия всегда ставят по достижению readystate = 4 |
|||
|
||||
| Paher |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Спасибо, буду искать настройку задержки
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Больше всего порадовало описание задачи. "Из основного скрипта вызывается функция". Из PHP скрипта. Функция. И возвращает управление.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |