Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как лучше обработать несколько файлов xml?
Покинул форум
Сообщений всего: 50
Дата рег-ции: Авг. 2008
Помог: 0 раз(а)
Здравствуйте.
У меня есть ~100 xml файлов одинаковой структуры.
Я из них беру информацию и кидаю в БД.
Алгоритм такой:
есть массив адресов файлов. в цикле гружу текущий файл, обрабатываю, пишу в бд. Но если файла нет, или файл неправильной структуры вызывается мое предупреждение, после которого последущие файлы уже не обрабатываются. А хотелось бы чтобы он пропустил этот файл и взялся за следущий.
Как мне лучше реализовать обработку файлов в таком случае?
Zuldek
Отправлено: 05 Февраля, 2013 - 09:02:37
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Собственно, не прерывать цикл обработки файлов а просто выводить предупреждение в случае его отсутствия и отрабатывать далее по массиву
LShark
Отправлено: 05 Февраля, 2013 - 09:49:17
Частый гость
Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012
Помог: 1 раз(а)
Вопрос у вас звучить так:
Каждый раз, когда я промахиваюсь по гвоздю, я попадаю себе по пальцу, а это больно. Как сделать так, чтобы не было больно?
Варианты ответа:
1. Не забивать гвоздь
2. Убрать пальцы
3. Использовать мягкий молоток
4. Нажраться обезболивающих
5. и т.д...
Вариантов масса - какой у вас используется?
и все спокойно продолжится дальше. Если пропущенный файл критичен для последующих (например, без него оставшиеся не загрузятся)- то тут увы, никак, толкьо остановить скрипт и при повторном запуске пусть пропустит то, что уже сделал и начнет с того, который ранее отсутствовал.
Если некритичен - пиши в лог, например, название отсутствующего файла. И потом добавляй его.
И ты бы хоть часть кода сюда ввел, особенно часть "предупреждение", а то непонятно, а телепаты в отпуске.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.