function start_get_tovar() { global $host; global $user; global $password; global $database; ob_start(); echo "Start script: " . date("H:i:s") . "<br>"; ob_flush(); flush(); // подключаемся к SQL серверу $link = mysqli_connect($host, $user, $password, $database) or die("Ошибка " . mysqli_error($link)); //$id_catalog = 6; $query = 'select tovar_id,catalog,parent_id,link from bitrixshop.compare'; // LIMIT 200'; $result = mysqli_query($link, $query); $i = 0; while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { get_tovar($row['link'], $row['tovar_id'], $row['catalog'], $row['parent_id']); $i = $i + 1; echo "Load: " . $i . " Tovar_id: " . $row['tovar_id'] . " Catalog: " . $row['catalog'] . "<br>"; ob_flush(); flush(); } //Закрываем соединение с БД mysqli_close($link); echo "Stop script: " . date("H:i:s") . "<br>"; ob_flush(); flush(); ob_end_clean(); }
function main($load_catalog, $load_all = 0) { global $arr_all; global $objPHPExcel; global $all_count; global $all_count_attr; $arr_1 = array(); $arr_2 = array(); $arr_tovar = array(); ob_start(); if ($load_all == 0) { $m = 0; //счетчик для прогресс бара $attr_count = 2; //счетчик атрибутов } else { $m = $all_count; $attr_count = $all_count_attr; } echo "Start load catalog: " . $load_catalog . " " . date("H:i:s") . "<br>"; ob_flush(); flush(); $arr_1 = get_page_count($arr_all[$load_catalog][0], $arr_all[$load_catalog][2]); // Первый цикл получаем массив ссылок на страницы КАТАЛОГА (ID каталога + ссылка страницу каталога) по одной категории из $arr_all for ($i = 0; $i < count($arr_1); $i++) { /*echo $arr_1[$i][0] . " " . $arr_1[$i][1] ."<br>"; //ID каталога + ссылка страницу каталога ob_flush(); flush(); sleep(1);*/ $arr_2 = getItem($arr_1[$i][0], $arr_1[$i][1]); //Второй цикл получаем массив ссылок на страницы ТОРАРА (ID каталога + ID товара + ссылка на страницу товара) по одной категории из $arr_all for ($j = 0; $j < count($arr_2); $j++) { $m = $m + 1; $d = $m + 1; $image_file_name = save_img($arr_2[$j]['image']); //Скачивает картинку товара $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A' . $d, $arr_2[$j]['tovar_id'])->setCellValue('B' . $d, str_replace('"', '"', $arr_2[$j]['name']))->setCellValue('C' . $d, str_replace('"', '"', $arr_2[$j]['name']))->setCellValue('D' . $d, $arr_2[$j]['catalog_id'])->setCellValue('L' . $d, '1000')->setCellValue('M' . $d, $arr_2[$j]['tovar_id'])->setCellValue('O' . $d, '/catalog/catalog/' . $image_file_name)->setCellValue('P' . $d, 'yes')->setCellValue('Q' . $d, $arr_2[$j]['price'])->setCellValue('S' . $d, date('Y-m-d H:i:s'))->setCellValue('T' . $d, date('Y-m-d H:i:s'))->setCellValue('U' . $d, date('Y-m-d'))->setCellValue('AB' . $d, 'true')->setCellValue('AB' . $d, 'true')->setCellValue('AC' . $d, '0')->setCellValue('AM' . $d, '7')->setCellValue('AN' . $d, '0')->setCellValue('AS' . $d, '0')->setCellValue('AT' . $d, 'true')->setCellValue('AU' . $d, '1'); //echo $arr_2[$j]['catalog_id'] . " " . $arr_2[$j]['tovar_id'] . " " . $arr_2[$j]['price'] . " " . $arr_2[$j]['name'] . " " . $arr_tovar['brand'] . " " . $arr_2[$j]['link'] . "<br>"; // ID каталога + ID товара + ссылка на страницу товара $arr_tovar = get_tovar(html_entity_decode($arr_2[$j]['link'])); for ($x = 0; $x < count($arr_tovar); $x++) { $objPHPExcel->setActiveSheetIndex(1)->setCellValue('A' . $attr_count, $arr_2[$j]['tovar_id'])->setCellValue('B' . $attr_count, 'Характеристики')->setCellValue('C' . $attr_count, $arr_tovar[$x]['Attribute'])->setCellValue('E' . $attr_count, $arr_tovar[$x]['Value']); $attr_count = $attr_count + 1; } } echo '<script> document.all.proc' . $load_catalog . '.innerHTML = "' . round(($i + 1) * 100 / count($arr_1), 0) . ' % (' . $m . ')"; document.all.line' . $load_catalog . '.innerHTML = "' . CopyLine(($i + 1) * 100 / count($arr_1)) . '"; </script>'; ob_flush(); flush(); } echo "Stop load catalog: " . $load_catalog . " " . date("H:i:s") . "<br>"; ob_flush(); flush(); $all_count = $m; $all_count_attr = $attr_count; //Закрываем соеденение //curl_close($ch); ob_end_clean(); }