Подскажите, если какой-нибудь метод импорта из csv в инфоблок, чтобы постоянно в ручную не выбирать файл??
11.05.2010 06:47:33
Подскажите, если какой-нибудь метод импорта из csv в инфоблок, чтобы постоянно в ручную не выбирать файл??
|
|
|
|
11.05.2010 15:46:56
Пусть имеем файл "3r5g6hty.csv" в какой-то папочке, и его надо импортировать... 1) засекаю в начале выполнения скрипта время старта 2) после каждого CIBlockElement add смотрю, сколько со старта прошло времени, если больше порога (скажем больше 15 сек.), прерываю цикл импорта, запоминаю куда-нибудь, например, в файл "3r5g6hty.csv_" номер строки, на которой остановился 3) перезапускаю скрипт сначала ну и пункт, который на самом деле идет перед пунктом 1 (то есть в начале скрипта импорта): 0) смотрю, нет ли рядом с файлом "3r5g6hty.csv" файла "3r5g6hty.csv_", если нет, импорт идет с 1 строки, если есть, то импорт идет со строки, номер которой указан в файле "3r5g6hty.csv_" Вот как-то так... На самом деле там еще всякие разные мелочи, можно сделать это все с аяксом, без перезагрузки основной страницы, с прогрессбаром и т.п., но в общем и целом все так Так же можно почаще записывать номер строки, которую уже импортировали, тогда и в случае сбоя скрипта можно будет начать с места сбоя... |
|||
|
|
11.05.2010 17:01:07
Тут ясно, читать каждый раз файл 3r5g6hty.csv_ и допустим там номер строки можно передавать в допустим for(). А вот с аякс- загрузкой как раз интерессно. У меня есть сейчас функционал такой: ссылка, которая отсылает аякс-get-запрос на эту же страницу, получаю параметр и по этому параметру начинается парсинг csv-файла, появляеться div с сообщением "идёт загрузка...", вот и тут есть как раз эти 2 момента
1. Хотелось бы заменить "идёт загрузка..." на прогресс-бар 2. Если файл сильно большой, то делать пошаговую парсингу. В двух словах можно? как вы перед этим отписали, сразу концепция ясна стала
Только Хард-кор
|
|
|
|
11.05.2010 17:20:50
По поводу пошаговости, я предпочитаю импорт через cron с FTP с ручным контролем времени исполнения сценария (Если время исполнения начинает превышать допустимое, то курсор пишется в бд и скрипт себя завершает, чтобы вызваться кроном снова позже). По поводу пошаговости через веб-интерфейс написано и без того немало, от советов на форуме до "
Экс-битриксоид.
Компонент (и.с.) - существительное мужского рода (ГОСТ 34.003-90). |
|||
|
|
11.05.2010 18:59:31
Нашел в справке по PHP хороший пример
второй параметр длина строки |
|||
|
|
27.09.2011 07:06:23
По поводу пошагового автоматического импорта - реализовали такой модуль
Есть возможность протестировать модуль перед покупкой. Буду рад отзывам, пожеланиям, сообщениям о багах. |
|
|
|
01.10.2011 11:33:03
сырой модуль!!!каталог повредил - создал левые папки -
структуру папок левую создал рано такой модуль людям за денежку предлагать! работа по количеству импортирования за шаг, а не по времени шага - полная ерунда, откуда знать под какой нагрузкой будет работать сервак во время импорта! |
|
|
|
11.06.2013 13:23:58
а на редакции старт его можно использовать???
|
||||
|
|
|||