![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Всем почтение.
У меня странная проблема: скрипт не останавливает свою работу браузером. Хотя в php.ini ignore_user_abort=Off, max_execution_time=30. В самом скрипте нет строк
Помогите разобраться, как это исправить. Я никак понять не могу в чем проблема. |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Вот этот код не останавливается. Ведь если остановить его в обозревателе - то он должен прекратить работу?!!!
А он пашет пока count($cnt)-1 не отработает! |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
Instal, ссылку внимательно прочитал?
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Прочитал.
Я понимаю, что код выполняется на сервере. Но ведь работу скрипта можно остановить как и выполнение этого кода! Так почему он продолжает работать несмотря на остановку? Это сообщение отредактировал(а) Instal - 12.4.2007, 17:09 |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Скрипт замирает прекрасно.... Или я что то не понял? |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
Плохо читал. еще раз читай.!
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
gta4kv, умоляй кого хочешь, я на это не ведусь
а по существу: 1.читай внимательно чего хотят. 2. не знаешь не отвечай Создаем такой файлик:
запускаем его через браузер, и сразу же закрываем бразуер... в любом случае если сервер успел поймать запрос то все файлы в цикле будут созданы. -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
z-END, большое спасибо за разъяснение.
Я просто не мог никак принять, что циклы нельзя так остановить. После твоего кода я наконец обрел веру в это. Благодарствую |
|||
|
||||
| gta4kv |
|
||||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Аа, понял ошибку. |
||||
|
|||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
только не цикл, а вообще впринципе весь скрипт... т.е. после того как он запустился, чтобы ты не делал с клиентом, скрипт доработает до конца. -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Да, я уже понял, что пхп выполняет код до конца. Только ребут сервера или апача его остановит ))
Сенкс! |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Даже при exit; ? ( просто интересно ) |
|||
|
||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Ну и при чем здесь exit и браузер пользователя?! gta4kv, прочти еще раз внимательно верхнюю ссылку -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
||||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
И все-таки есть условия, при которых остановить скрипт можно. А именно, если он уже начал отдавать вывод клиенту.
Здесь принципиально важно flush(); Если прервать нажать stop в броузере посреди процесса, прекратится и вывод, и создание файлов. Если же использовать ignore_user_abort(1), прекратиться только вывод в броузере, а файлы будут создаваться по-пержнему -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 5 Всего: 102 |
Golda, действительно.. в таком случае скрипт останавливает работу
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Если скрипт невозможно остановить браузером (Нажатием кнопки "Остановить"), тогда зачем эта функция? ;) |
|||
|
||||
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Уважаемые, помогите разобраться с этим примером:
По моей задумке скрипт при $e==20 и filesize("test.txt")<1 должен прекратить работу. Т.е. нужно чтобы скрипт реагировал именно на filesize("test.txt")<1. Что-то опять я в дауне Это сообщение отредактировал(а) Instal - 13.4.2007, 22:28 |
|||
|
||||
| CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Скрипт пожалуйста с отступами, вообще не могу понять что там написано...
|
|||
|
||||
| Golda |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Не могу понять смысла этого куска кода. Зачем Вы 24 раза открываете один и тот же файл test.txt на запись (тем самым стирая его содержимое) и ничего туда не пишете? Точно также открывате на запись и ничего не пишете в фалы <X>.txt. При таком подходе у Вас всегда все эти фалйы окажутся пустыми и на 20-ом шаге цикл должен обрываться. Зачем тогда шагов 24?
Ладно, возможно, Вы привели только выдержки из кода и содержательная часть опущена. Если отвечать непосредственно на заданный вопрос, чтобы прекращать работу при $e==20 и filesize("test.txt")<1 просто всавьте их в одно условие
Если же обязательно на 20-ом шаге сначала открыть test.txt, тогда так
Но сперва убедитесь, что Вы хотели сделать именно то, что написано у Вас в коде. -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
||||
|
|||||
| Instal |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Golda, смысл скрипта таков.
Есть цикл, который я хочу остановить когда размер определенного файла будет равен нулю. Т.е.
Для этого я и написал предыдущий пример. Напишу еще проще:
Во время работы скрипта закидываем на сервер пустой файл test.txt. Мне кажется, скрипт должен остановить свою работу, но этого не происходит! Вот и хочу понять как сделать, чтобы скрипт останавливался когда размер определенного файла был равен нулю. Т.е. без разницы на каком этапе $e. Смысл в том, что сначала размер этого файла будет больше нуля. А потом равно и все, стоп. Вроде понятно объяснил что хочу научиться делать? |
||||
|
|||||
| Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 5 Всего: 13 |
информация о размере и наличии файла кешируется из этого вывод на каждом этапе цикла делать
clearstatcache -- Очищает кэш состояния файлов |
|||
|
||||
| Instal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 30.7.2005 Репутация: нет Всего: нет |
Всемогущий,
Спасибо. Теперь разобрался |
|||
|
||||
![]()
|
| Правила форума "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. |