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?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
tiHo
Отправлено: 05 Февраля, 2013 - 08:17:16
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Здравствуйте.

У меня есть ~100 xml файлов одинаковой структуры.

Я из них беру информацию и кидаю в БД.

Алгоритм такой:

есть массив адресов файлов. в цикле гружу текущий файл, обрабатываю, пишу в бд. Но если файла нет, или файл неправильной структуры вызывается мое предупреждение, после которого последущие файлы уже не обрабатываются. А хотелось бы чтобы он пропустил этот файл и взялся за следущий.

Как мне лучше реализовать обработку файлов в таком случае?
 
 Top
Zuldek
Отправлено: 05 Февраля, 2013 - 09:02:37
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Собственно, не прерывать цикл обработки файлов а просто выводить предупреждение Улыбка в случае его отсутствия и отрабатывать далее по массиву
 
 Top
LShark
Отправлено: 05 Февраля, 2013 - 09:49:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Вопрос у вас звучить так:
Каждый раз, когда я промахиваюсь по гвоздю, я попадаю себе по пальцу, а это больно. Как сделать так, чтобы не было больно?

Варианты ответа:
1. Не забивать гвоздь
2. Убрать пальцы
3. Использовать мягкий молоток
4. Нажраться обезболивающих
5. и т.д...
Вариантов масса - какой у вас используется?

Действительно, зачем писать
CODE (htmlphp):
скопировать код в буфер обмена
  1. exit('Ну нету файла');

если можно написать
CODE (htmlphp):
скопировать код в буфер обмена
  1. echo('Ну нету файла');

и все спокойно продолжится дальше. Если пропущенный файл критичен для последующих (например, без него оставшиеся не загрузятся)- то тут увы, никак, толкьо остановить скрипт и при повторном запуске пусть пропустит то, что уже сделал и начнет с того, который ранее отсутствовал.
Если некритичен - пиши в лог, например, название отсутствующего файла. И потом добавляй его.

И ты бы хоть часть кода сюда ввел, особенно часть "предупреждение", а то непонятно, а телепаты в отпуске.

(Отредактировано автором: 05 Февраля, 2013 - 09:52:22)



-----
Истина прежде всего в том, что...
 
 Top
tiHo
Отправлено: 05 Февраля, 2013 - 11:16:08
Post Id


Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




Спасиб за ответы, с этим я уже разобрался - буду разделять все проверки по отдельным ф-ям, а то у меня все в кучу, и все друг от друга зависит..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB