Язмаларны текст файлларыннан импортлау

1С-Битрикс системасына яңалыкларны башка системадан күчергәндә аларны текст файллары ярдәмендә импортларга туры килгәли. Бу эшне башкарып чыгу өчен шушы типтагы код язарга кирәк:


if (CModule::IncludeModule('iblock'))
{
 $db = CIBlockElement::GetList(array(), array('IBLOCK_ID' => 12), false, false, array('ID', 'XML_ID'));
 while ($item = $db->GetNext(true, false))
 {
  if (($item["XML_ID"]>=100) && ($item["XML_ID"]<300))
  {
   $arLoadProductArray = Array();
   if (file_exists($_SERVER["DOCUMENT_ROOT"]."/upload/import/".$item["XML_ID"].".txt"))
   {
    $handle = fopen($_SERVER["DOCUMENT_ROOT"]."/upload/import/".$item["XML_ID"].".txt", "r");
    $arLoadProductArray["DETAIL_TEXT"] = fread($handle, filesize($_SERVER["DOCUMENT_ROOT"]."/upload/import/".$item["XML_ID"].".txt"));
    fclose($handle);
    $arLoadProductArray["DETAIL_TEXT"] = str_replace("src=\"images", "src=\"/upload/import/images", $arLoadProductArray["DETAIL_TEXT"]);
   }
   $el = new CIBlockElement;
   $res = $el->Update($item["ID"], $arLoadProductArray);
  }
 }
}

Башта инфоблоктан барлык язмалар соратылып алына, аннан кирәкле XML_ID кодлы файл булу-булмау тикшерелә. Әгәр ул файл булса, аның тексты массивка алына һәм элемент яңартыла.