Показать полную графическую версию : Посоветуйте, как завершать скрипты в случае ошибки.
К примеру, хотя почему к примеру, так оно и есть. :) Есть аплоад файлов на сервер. Если файл соответствует правилам, то все чин-чинарем. А если PHP обнаружила ошибку, как лучше всего завершить работу скрипта, ведь остальные действия совсем лишние. Да и вывести пользователю сообщение об ошибке нужно.
Голова вообще не варит. :)
vadimiron
26-11-2008, 09:59
Igor_I,
Вы работаете с Exception?? Раз встают такие вопросы - советую познакомится....
vadimiron, не работаю. Насколько я понял, для меня в данный момент это лишнее, искать исключения.
Все что мне надо - прервать цикл и цивильно вывести ошибку пользователю при закачке одного файла, не прерывая закачку остальных файлов.
Пока думаем ...
vadimiron
28-11-2008, 14:58
Пока думаем ... »
В случае с закачкой файлов особенно ничего не придумаешь.... Создайте класс, который работает как стек, и в который собираете все сообщения. А потом при формировании страницы выводите все сообщения....
Вот это меня смущает - противоречие однако...
как лучше всего завершить работу скрипта »
vs
прервать цикл и цивильно вывести ошибку пользователю при закачке одного файла, не прерывая закачку остальных файлов »
Создайте класс, который работает как стек, и в который собираете все сообщения. А потом при формировании страницы выводите все сообщения.... »
Примерно так я сделал. Но как-то не очень нравится.
Попробую набросать эскиз.
- Форма отправляет файлы
- Скрипт принимает
- Обрабатываем прием файлов в цикле
Но, перед самым циклом идет проверка на общий объем данных и если он превышает некий порог, то до цикла даже не доходим. То есть работает строк 50, а остальные сотни строк не при делах. Вот чтобы их не обрабатывать и надо выйти из скрипта.
Короче, имеет смысл всю обработку файлов поставить в зависимость от одного условия?
А если ещё короче - можешь не отвечать :) Потом соображу...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC