Импорт товаров из xml файла сторонним скриптом.
Добрый день, имеется скрипт такого вида:
Все работает кроме загрузки изображений, изображения хранятся в папке со скриптом с отд. директории, в чем может быть пробл? Спасибо
<?php
set_time_limit (0);
require_once(dirname(__FILE__) . '/../' . 'main_classes.php'); $kernel = & singleton('kernel');
$kernel->LoadModules();
$shop = new shop();
$shop_id = 1;
$param = array();
$rows = $shop->GetAllItems($shop_id, false, $param);
//var_dump($rows);
$cml_products = array();
foreach($rows as $row){
//var_dump($row);
$cml_products[$row['shop_items_cml_id']] = $row['shop_items_catalog_item_id'];
}
//var_dump($cml_products);
// die();
$xml = simplexml_load_file('oasis2013.xml');
foreach($xml->item as $item){
//Разберемся с категориями этого товара
$cats = '';
$cats = explode('\\', $item->tov_rubr->rubr);
$cats = array_filter($cats);
//Поиск родителя
$cat_parent = '';
//Поиск текущего
$cat_current = '';
foreach($cats as $cat){
$categories = getAllCategoriesInfo();
//$cat = mb_convert_encoding($cat , "windows-1251", "UTF-8");
$cat_current .= $cat;
if(!in_array($cat_current,$categories['categories_cml'])){
if($cat_parent==''){
$parent = 0;
}
else{
$parent = $categories['cml_categories'][$cat_parent];
}
$arr['name'] =$cat;
$arr['parent'] =$parent;
$arr['shop_groups_cml_id'] =$cat_current;
$newgroup = insertGroup($arr);
//var_dump($newgroup);
}
$cat_parent .= $cat;
}
$categories = getAllCategoriesInfo();
$data['shops_id'] = 1;
$data['groups_id'] = $categories['cml_categories'][$cat_current];
if(!in_array($item['tov_id'],$cml_products)){
$data['item_id']=false;
}
else{
$data['item_id'] = $cml_products[$item['tov_id']];
}
$data['big_image'] = $item->tov_pic->big->pic;
$data['big_image'] = $data['big_image'].'';
$data['item']=$item;
$inserted = insertProduct($data);
}
function insertProduct($data){
$shop = new shop();
$param['shops_id'] = 1;
if($data['item_id']!=''){
$param['item_id'] = $data['item_id'];
}
$param['groups_id'] = $data['groups_id'];
//$param['name'] = mb_convert_encoding($data['item']->tov_name , "windows-1251", "UTF-8");
$param['name'] = $data['item']->tov_name;
$param['shop_items_cml_id'] = intval($data['item']['tov_id']).'';
$param['currency_id'] = 1;
$param['weight'] = $data['item']->tov_vesed.'';
$param['price'] = $data['item']->tov_price.'';
$param['is_active'] = 1;
$param['tax_id'] = 0;
$param['shop_sallers_id'] = 0;
$param['users_id'] = 19;
$param['path_source_big_image'] = dirname(__FILE__).'/200x150/'.$data['big_image'];
$param['original_file_name_small_image'] = dirname(__FILE__).'/200x150/'.$data['big_image'];
$param['original_file_name_big_image'] = dirname(__FILE__).'/200x150/'.$data['big_image'];
//var_dump($data);
$newid = $shop->InsertItem($param);
}
function getAllCategoriesInfo(){
$shop = new shop();
$shop_id = 1;
$param['group_order'] = 'Asc';
$rows = $shop->GetAllGroups($shop_id, $param);
$categories_cml = array();
foreach($rows as $row){
$categories_cml[$row['shop_groups_id']]=$row['shop_groups_cml_id'];
}
$cml_categories = array();
foreach($rows as $row){
$cml_categories[$row['shop_groups_cml_id']]=$row['shop_groups_id'];
}
$return = array();
$return['categories_cml'] = $categories_cml;
$return['cml_categories'] = $cml_categories;
return $return;
}
function insertGroup($data){
$shop = new shop();
$param['shop_groups_name'] = $data['name'];
$param['shop_shops_id'] = 1;
$param['shop_groups_parent_id'] = $data['parent'];
$param['shop_groups_cml_id'] = $data['shop_groups_cml_id'];
$newid = $shop->InsertGroup($param);
return $newid;
}
?>
set_time_limit (0);
require_once(dirname(__FILE__) . '/../' . 'main_classes.php'); $kernel = & singleton('kernel');
$kernel->LoadModules();
$shop = new shop();
$shop_id = 1;
$param = array();
$rows = $shop->GetAllItems($shop_id, false, $param);
//var_dump($rows);
$cml_products = array();
foreach($rows as $row){
//var_dump($row);
$cml_products[$row['shop_items_cml_id']] = $row['shop_items_catalog_item_id'];
}
//var_dump($cml_products);
// die();
$xml = simplexml_load_file('oasis2013.xml');
foreach($xml->item as $item){
//Разберемся с категориями этого товара
$cats = '';
$cats = explode('\\', $item->tov_rubr->rubr);
$cats = array_filter($cats);
//Поиск родителя
$cat_parent = '';
//Поиск текущего
$cat_current = '';
foreach($cats as $cat){
$categories = getAllCategoriesInfo();
//$cat = mb_convert_encoding($cat , "windows-1251", "UTF-8");
$cat_current .= $cat;
if(!in_array($cat_current,$categories['categories_cml'])){
if($cat_parent==''){
$parent = 0;
}
else{
$parent = $categories['cml_categories'][$cat_parent];
}
$arr['name'] =$cat;
$arr['parent'] =$parent;
$arr['shop_groups_cml_id'] =$cat_current;
$newgroup = insertGroup($arr);
//var_dump($newgroup);
}
$cat_parent .= $cat;
}
$categories = getAllCategoriesInfo();
$data['shops_id'] = 1;
$data['groups_id'] = $categories['cml_categories'][$cat_current];
if(!in_array($item['tov_id'],$cml_products)){
$data['item_id']=false;
}
else{
$data['item_id'] = $cml_products[$item['tov_id']];
}
$data['big_image'] = $item->tov_pic->big->pic;
$data['big_image'] = $data['big_image'].'';
$data['item']=$item;
$inserted = insertProduct($data);
}
function insertProduct($data){
$shop = new shop();
$param['shops_id'] = 1;
if($data['item_id']!=''){
$param['item_id'] = $data['item_id'];
}
$param['groups_id'] = $data['groups_id'];
//$param['name'] = mb_convert_encoding($data['item']->tov_name , "windows-1251", "UTF-8");
$param['name'] = $data['item']->tov_name;
$param['shop_items_cml_id'] = intval($data['item']['tov_id']).'';
$param['currency_id'] = 1;
$param['weight'] = $data['item']->tov_vesed.'';
$param['price'] = $data['item']->tov_price.'';
$param['is_active'] = 1;
$param['tax_id'] = 0;
$param['shop_sallers_id'] = 0;
$param['users_id'] = 19;
$param['path_source_big_image'] = dirname(__FILE__).'/200x150/'.$data['big_image'];
$param['original_file_name_small_image'] = dirname(__FILE__).'/200x150/'.$data['big_image'];
$param['original_file_name_big_image'] = dirname(__FILE__).'/200x150/'.$data['big_image'];
//var_dump($data);
$newid = $shop->InsertItem($param);
}
function getAllCategoriesInfo(){
$shop = new shop();
$shop_id = 1;
$param['group_order'] = 'Asc';
$rows = $shop->GetAllGroups($shop_id, $param);
$categories_cml = array();
foreach($rows as $row){
$categories_cml[$row['shop_groups_id']]=$row['shop_groups_cml_id'];
}
$cml_categories = array();
foreach($rows as $row){
$cml_categories[$row['shop_groups_cml_id']]=$row['shop_groups_id'];
}
$return = array();
$return['categories_cml'] = $categories_cml;
$return['cml_categories'] = $cml_categories;
return $return;
}
function insertGroup($data){
$shop = new shop();
$param['shop_groups_name'] = $data['name'];
$param['shop_shops_id'] = 1;
$param['shop_groups_parent_id'] = $data['parent'];
$param['shop_groups_cml_id'] = $data['shop_groups_cml_id'];
$newid = $shop->InsertGroup($param);
return $newid;
}
?>
Все работает кроме загрузки изображений, изображения хранятся в папке со скриптом с отд. директории, в чем может быть пробл? Спасибо
Авторизация