Пытаюсь со старой БД перенести новости на сайт под битриксом. Написал коей какой скриптец. Но! проблема в том, что посредством скрипта переносится записей 140-160 и скрипт перестает работать, не зависает, а просто как будто он отработал
Код |
---|
<?
define("STOP_STATISTICS", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$dbCon = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("dbtest50", $dbCon) or die(mysql_error());
$query = mysql_query("SELECT * FROM ds_news");
CModule::IncludeModule("iblock");
mysql_select_db("zato", $dbCon) or die(mysql_error());
$el = new CIBlockElement;
$i = 0;
while($row = mysql_fetch_array($query)){
$matches = array();
$pattern = "/\/upload\/pages\/.*?\..{3,4}?/";
$patternFull = "/http:\/\/.*\/upload\/pages\/.*?\..{3,4}?/";
$text = $row["text"];
if(preg_match($pattern, $text, $matches)){
$path = "D:/№№№№№/№№№№/№№№/№№№/№№№№".$matches[0];
if(CFile::IsImage($path)){
$imgAr = CFile::MakeFileArray($path);
$imgAr["MODULE_ID"] = "iblock";
$imgId = CFile::SaveFile($imgAr, "iblock");
$newPath = CFile::GetPath($imgId);
$text = preg_replace($patternFull, $newPath, $text);
}
}
$path = "D:/№№№№№/№№№№/№№№/№№№/№№№№".$row["page_id"]."/".$row["image"]; |
Код |
---|
$img = CFile::MakeFileArray($path);
$text = $row["text"];
$date = implode(".",array_reverse(explode("-",$row["date"])));
$arFields = array(
"IBLOCK_ID" => 1,
"DATE_ACTIVE_FROM" => $date,
"NAME" => $row["title"],
"PREVIEW_PICTURE" => $img,
"PREVIEW_TEXT" => $row["short"],
"DETAIL_TEXT_TYPE" => "html",
"DETAIL_TEXT" => $text,
);
if($pId = $el->Add($arFields)){
//echo $pId."<br>";
$i++;
}else{echo "Error: ".$el->LAST_ERROR;}
}
echo $i;
?>
|
всего 10 тысяч записей. все происходит на локальном сервере(Denwer). Подскажите пожалуйста, кто сталкивался с переносом большого количества записей, в чем может быть проблема?