ecshop 后台批量上传商品,之所以无法上传,是因为后台上传php文件方法中没有导入商品原图路径

将ecshop根目录中的admin/goods_batch.php文件全部修改为

<?php
/**
* ECSHOP 商品批量上传、修改
* ============================================================================
* * 版权所有 2005-2012 上海商派网络科技有限公司,并保留所有权利。
* 网站地址: http://www.ecshop.com;
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
* 使用;不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
* $Author: liubo $
* $Id: goods_batch.php 17217 2011-01-19 06:29:08Z liubo $
*/ define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php');
require('includes/lib_goods.php'); /*------------------------------------------------------ */
//-- 批量上传
/*------------------------------------------------------ */ if ($_REQUEST['act'] == 'add')
{
/* 检查权限 */
admin_priv('goods_batch'); /* 取得分类列表 */
$smarty->assign('cat_list', cat_list()); /* 取得可选语言 */
$dir = opendir('../languages');
$lang_list = array(
'UTF8' => $_LANG['charset']['utf8'],
'GB2312' => $_LANG['charset']['zh_cn'],
'BIG5' => $_LANG['charset']['zh_tw'],
);
$download_list = array();
while (@$file = readdir($dir))
{
if ($file != '.' && $file != '..' && $file != ".svn" && $file != "_svn" && is_dir('../languages/' .$file) == true)
{
$download_list[$file] = sprintf($_LANG['download_file'], isset($_LANG['charset'][$file]) ? $_LANG['charset'][$file] : $file);
}
}
@closedir($dir);
$data_format_array = array(
'ecshop' => $_LANG['export_ecshop'],
'taobao' => $_LANG['export_taobao'],
'paipai' => $_LANG['export_paipai'],
'paipai3' => $_LANG['export_paipai3'],
'taobao46' => $_LANG['export_taobao46'],
);
$smarty->assign('data_format', $data_format_array);
$smarty->assign('lang_list', $lang_list);
$smarty->assign('download_list', $download_list); /* 参数赋值 */
$ur_here = $_LANG['13_batch_add'];
$smarty->assign('ur_here', $ur_here); /* 显示模板 */
assign_query_info();
$smarty->display('goods_batch_add.htm');
} /*------------------------------------------------------ */
//-- 批量上传:处理
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'upload')
{
/* 检查权限 */
admin_priv('goods_batch'); /* 将文件按行读入数组,逐行进行解析 */
$line_number = 0;
$arr = array();
$goods_list = array();
$field_list = array_keys($_LANG['upload_goods']); // 字段列表
$data = file($_FILES['file']['tmp_name']);
if($_POST['data_cat'] == 'ecshop')
{
foreach ($data AS $line)
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
} // 转换编码
if (($_POST['charset'] != 'UTF8') && (strpos(strtolower(EC_CHARSET), 'utf') === 0))
{
$line = ecs_iconv($_POST['charset'], 'UTF8', $line);
} // 初始化
$arr = array();
$buff = '';
$quote = 0;
$len = strlen($line);
for ($i = 0; $i < $len; $i++)
{
$char = $line[$i]; if ('\\' == $char)
{
$i++;
$char = $line[$i]; switch ($char)
{
case '"':
$buff .= '"';
break;
case '\'':
$buff .= '\'';
break;
case ',';
$buff .= ',';
break;
default:
$buff .= '\\' . $char;
break;
}
}
elseif ('"' == $char)
{
if (0 == $quote)
{
$quote++;
}
else
{
$quote = 0;
}
}
elseif (',' == $char)
{
if (0 == $quote)
{
if (!isset($field_list[count($arr)]))
{
continue;
}
$field_name = $field_list[count($arr)];
$arr[$field_name] = trim($buff);
$buff = '';
$quote = 0;
}
else
{
$buff .= $char;
}
}
else
{
$buff .= $char;
} if ($i == $len - 1)
{
if (!isset($field_list[count($arr)]))
{
continue;
}
$field_name = $field_list[count($arr)];
$arr[$field_name] = trim($buff);
}
}
$goods_list[] = $arr;
}
}
elseif($_POST['data_cat'] == 'taobao')
{
$id_is = 0;
foreach ($data AS $line)
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
} // 初始化
$arr = array();
$line_list = explode("\t",$line);
$arr['goods_name'] = trim($line_list[0],'"'); $max_id = $db->getOne("SELECT MAX(goods_id) + $id_is FROM ".$ecs->table('goods'));
$id_is++;
$goods_sn = generate_goods_sn($max_id);
$arr['goods_sn'] = $goods_sn;
$arr['brand_name'] = '';
$arr['market_price'] = $line_list[7];
$arr['shop_price'] = $line_list[7];
$arr['integral'] = 0;
$arr['original_img'] = $line_list[25];
$arr['keywords'] = '';
$arr['goods_brief'] = '';
$arr['goods_desc'] = strip_tags($line_list[24]);
$arr['goods_desc'] = substr($arr['goods_desc'], 1, -1);
$arr['goods_number'] = $line_list[10];
$arr['warn_number'] =1;
$arr['is_best'] = 0;
$arr['is_new'] = 0;
$arr['is_hot'] = 0;
$arr['is_on_sale'] = 1;
$arr['is_alone_sale'] = 0;
$arr['is_real'] = 1; $goods_list[] = $arr;
}
}
elseif($_POST['data_cat'] == 'paipai')
{
$id_is = 0;
foreach ($data AS $line)
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
} // 初始化
$arr = array();
$line_list = explode(",",$line);
$arr['goods_name'] = trim($line_list[3],'"'); $max_id = $db->getOne("SELECT MAX(goods_id) + $id_is FROM ".$ecs->table('goods'));
$id_is++;
$goods_sn = generate_goods_sn($max_id);
$arr['goods_sn'] = $goods_sn;
$arr['brand_name'] = '';
$arr['market_price'] = $line_list[13];
$arr['shop_price'] = $line_list[13];
$arr['integral'] = 0;
$arr['original_img'] = $line_list[28];
$arr['keywords'] = '';
$arr['goods_brief'] = '';
$arr['goods_desc'] = strip_tags($line_list[30]);
$arr['goods_number'] = 100;
$arr['warn_number'] =1;
$arr['is_best'] = 0;
$arr['is_new'] = 0;
$arr['is_hot'] = 0;
$arr['is_on_sale'] = 1;
$arr['is_alone_sale'] = 0;
$arr['is_real'] = 1; $goods_list[] = $arr;
}
}
elseif($_POST['data_cat'] == 'paipai3')
{
$id_is = 0;
foreach ($data AS $line)
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
} // 初始化
$arr = array();
$line_list = explode(",",$line);
$arr['goods_name'] = trim($line_list[1],'"'); $max_id = $db->getOne("SELECT MAX(goods_id) + $id_is FROM ".$ecs->table('goods'));
$id_is++;
$goods_sn = generate_goods_sn($max_id);
$arr['goods_sn'] = $goods_sn;
$arr['brand_name'] = '';
$arr['market_price'] = $line_list[9];
$arr['shop_price'] = $line_list[9];
$arr['integral'] = 0;
$arr['original_img'] = $line_list[23];
$arr['keywords'] = '';
$arr['goods_brief'] = '';
$arr['goods_desc'] = strip_tags($line_list[24]);
$arr['goods_number'] = $line_list[5];
$arr['warn_number'] =1;
$arr['is_best'] = 0;
$arr['is_new'] = 0;
$arr['is_hot'] = 0;
$arr['is_on_sale'] = 1;
$arr['is_alone_sale'] = 0;
$arr['is_real'] = 1; $goods_list[] = $arr;
}
}
elseif($_POST['data_cat'] == 'taobao46')
{
$id_is = 0;
foreach ($data AS $line)
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
}
if (($_POST['charset'] == 'UTF8') && (strpos(strtolower(EC_CHARSET), 'utf') == 0))
{
$line = ecs_iconv($_POST['charset'], 'GBK', $line);
}
// 初始化
$arr = array();
$line_list = explode("\t",$line);
$arr['goods_name'] = trim($line_list[0],'"'); $max_id = $db->getOne("SELECT MAX(goods_id) + $id_is FROM ".$ecs->table('goods'));
$id_is++;
$goods_sn = generate_goods_sn($max_id);
$arr['goods_sn'] = $goods_sn;
$arr['brand_name'] = '';
$arr['market_price'] = $line_list[7];
$arr['shop_price'] = $line_list[7];
$arr['integral'] = 0;
$arr['original_img'] = str_replace('"','',$line_list[35]);
$arr['keywords'] = '';
$arr['goods_brief'] = '';
$arr['goods_desc'] = strip_tags($line_list[24]);
$arr['goods_desc'] = substr($arr['goods_desc'], 1, -1);
$arr['goods_number'] = $line_list[10];
$arr['warn_number'] =1;
$arr['is_best'] = 0;
$arr['is_new'] = 0;
$arr['is_hot'] = 0;
$arr['is_on_sale'] = 1;
$arr['is_alone_sale'] = 0;
$arr['is_real'] = 1; $goods_list[] = $arr;
}
} $smarty->assign('goods_class', $_LANG['g_class']);
$smarty->assign('goods_list', $goods_list); // 字段名称列表
$smarty->assign('title_list', $_LANG['upload_goods']); // 显示的字段列表
$smarty->assign('field_show', array('goods_name' => true, 'goods_sn' => true, 'brand_name' => true, 'original_img' => true, 'goods_img' => true, 'goods_thumb' => true, 'market_price' => true, 'shop_price' => true)); /* 参数赋值 */
$smarty->assign('ur_here', $_LANG['goods_upload_confirm']); /* 显示模板 */
assign_query_info();
$smarty->display('goods_batch_confirm.htm');
} /*------------------------------------------------------ */
//-- 批量上传:入库
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'insert')
{
/* 检查权限 */
admin_priv('goods_batch'); if (isset($_POST['checked']))
{
include_once(ROOT_PATH . 'includes/cls_image.php');
$image = new cls_image($_CFG['bgcolor']); /* 字段默认值 */
$default_value = array(
'brand_id' => 0,
'original_img' => 0,
'goods_img' => 0,
'goods_number' => 0,
'goods_thumb' => 0,
'goods_weight' => 0,
'market_price' => 0,
'shop_price' => 0,
'warn_number' => 0,
'is_real' => 1,
'is_on_sale' => 1,
'is_alone_sale' => 1,
'integral' => 0,
'is_best' => 0,
'is_new' => 0,
'is_hot' => 0,
'goods_type' => 0,
); /* 查询品牌列表 */
$brand_list = array();
$sql = "SELECT brand_id, brand_name FROM " . $ecs->table('brand');
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$brand_list[$row['brand_name']] = $row['brand_id'];
} /* 字段列表 */
$field_list = array_keys($_LANG['upload_goods']);
$field_list[] = 'goods_class'; //实体或虚拟商品 /* 获取商品good id */
$max_id = $db->getOne("SELECT MAX(goods_id) + 1 FROM ".$ecs->table('goods')); /* 循环插入商品数据 */
foreach ($_POST['checked'] AS $key => $value)
{
// 合并
$field_arr = array(
'cat_id' => $_POST['cat'],
'add_time' => gmtime(),
'last_update' => gmtime(),
); foreach ($field_list AS $field)
{
// 转换编码
$field_value = isset($_POST[$field][$value]) ? $_POST[$field][$value] : ''; /* 虚拟商品处理 */
if ($field == 'goods_class')
{
$field_value = intval($field_value);
if ($field_value == G_CARD)
{
$field_arr['extension_code'] = 'virtual_card';
}
continue;
} // 如果字段值为空,且有默认值,取默认值
$field_arr[$field] = !isset($field_value) && isset($default_value[$field]) ? $default_value[$field] : $field_value; // 特殊处理
if (!empty($field_value))
{
// 图片路径
if (in_array($field, array('original_img', 'goods_img', 'goods_thumb')))
{
if(strpos($field_value,'|;')>0)
{
$field_value=explode(':',$field_value);
$field_value=$field_value['0'];
@copy(ROOT_PATH.'images/'.$field_value.'.tbi',ROOT_PATH.'images/'.$field_value.'.jpg');
if(is_file(ROOT_PATH.'images/'.$field_value.'.jpg'))
{
$field_arr[$field] =$field_value.'.jpg';
}
}
else
{
$field_arr[$field] = $field_value;
}
}
// 品牌
elseif ($field == 'brand_name')
{
if (isset($brand_list[$field_value]))
{
$field_arr['brand_id'] = $brand_list[$field_value];
}
else
{
$sql = "INSERT INTO " . $ecs->table('brand') . " (brand_name) VALUES ('" . addslashes($field_value) . "')";
$db->query($sql);
$brand_id = $db->insert_id();
$brand_list[$field_value] = $brand_id;
$field_arr['brand_id'] = $brand_id;
}
}
// 整数型
elseif (in_array($field, array('goods_number', 'warn_number', 'integral')))
{
$field_arr[$field] = intval($field_value);
}
// 数值型
elseif (in_array($field, array('goods_weight', 'market_price', 'shop_price')))
{
$field_arr[$field] = floatval($field_value);
}
// bool型
elseif (in_array($field, array('is_best', 'is_new', 'is_hot', 'is_on_sale', 'is_alone_sale', 'is_real')))
{
$field_arr[$field] = intval($field_value) > 0 ? 1 : 0;
}
} if ($field == 'is_real')
{
$field_arr[$field] = intval($_POST['goods_class'][$key]);
}
} if (empty($field_arr['goods_sn']))
{
$field_arr['goods_sn'] = generate_goods_sn($max_id);
} /* 如果是虚拟商品,库存为0 */
if ($field_arr['is_real'] == 0)
{
$field_arr['goods_number'] = 0;
}
$db->autoExecute($ecs->table('goods'), $field_arr, 'INSERT'); $max_id = $db->insert_id() + 1; /* 如果图片不为空,修改商品图片,插入商品相册*/ if (!empty($field_arr['original_img']) || !empty($field_arr['goods_img']) || !empty($field_arr['goods_thumb']))
{
$goods_img = '';
$goods_thumb = '';
$original_img = '';
$goods_gallery = array();
$goods_gallery['goods_id'] = $db->insert_id(); if (!empty($field_arr['original_img']))
{
//设置商品相册原图和商品相册图
if ($_CFG['auto_generate_gallery'])
{
$ext = substr($field_arr['original_img'], strrpos($field_arr['original_img'], '.'));
$img = dirname($field_arr['original_img']) . '/' . $image->random_filename() . $ext;
$gallery_img = dirname($field_arr['original_img']) . '/' . $image->random_filename() . $ext;
@copy(ROOT_PATH . $field_arr['original_img'], ROOT_PATH . $img);
@copy(ROOT_PATH . $field_arr['original_img'], ROOT_PATH . $gallery_img);
$goods_gallery['img_original'] = reformat_image_name('gallery', $goods_gallery['goods_id'], $img, 'source');
}
//设置商品原图
if ($_CFG['retain_original_img'])
{
$original_img = reformat_image_name('goods', $goods_gallery['goods_id'], $field_arr['original_img'], 'source');
}
else
{
@unlink(ROOT_PATH . $field_arr['original_img']);
}
} if (!empty($field_arr['goods_img']))
{
//设置商品相册图
if ($_CFG['auto_generate_gallery'] && !empty($gallery_img))
{
$goods_gallery['img_url'] = reformat_image_name('gallery', $goods_gallery['goods_id'], $gallery_img, 'goods');
}
//设置商品图
$goods_img = reformat_image_name('goods', $goods_gallery['goods_id'], $field_arr['goods_img'], 'goods');
} if (!empty($field_arr['goods_thumb']))
{
//设置商品相册缩略图
if ($_CFG['auto_generate_gallery'])
{
$ext = substr($field_arr['goods_thumb'], strrpos($field_arr['goods_thumb'], '.'));
$gallery_thumb = dirname($field_arr['goods_thumb']) . '/' . $image->random_filename() . $ext;
@copy(ROOT_PATH . $field_arr['goods_thumb'], ROOT_PATH . $gallery_thumb);
$goods_gallery['thumb_url'] = reformat_image_name('gallery_thumb', $goods_gallery['goods_id'], $gallery_thumb, 'thumb');
}
//设置商品缩略图
$goods_thumb = reformat_image_name('goods_thumb', $goods_gallery['goods_id'], $field_arr['goods_thumb'], 'thumb');
} //修改商品图
$db->query("UPDATE " . $ecs->table('goods') . " SET goods_img = '$goods_img', goods_thumb = '$goods_thumb', original_img = '$original_img' WHERE goods_id='" . $goods_gallery['goods_id'] . "'"); //添加商品相册图
if ($_CFG['auto_generate_gallery'])
{
$db->autoExecute($ecs->table('goods_gallery'), $goods_gallery, 'INSERT');
}
} }
} // 记录日志
admin_log('', 'batch_upload', 'goods'); /* 显示提示信息,返回商品列表 */
$link[] = array('href' => 'goods.php?act=list', 'text' => $_LANG['01_goods_list']);
sys_msg($_LANG['batch_upload_ok'], 0, $link);
} /*------------------------------------------------------ */
//-- 批量修改:选择商品
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'select')
{
/* 检查权限 */
admin_priv('goods_batch'); /* 取得分类列表 */
$smarty->assign('cat_list', cat_list()); /* 取得品牌列表 */
$smarty->assign('brand_list', get_brand_list()); /* 参数赋值 */
$ur_here = $_LANG['15_batch_edit'];
$smarty->assign('ur_here', $ur_here); /* 显示模板 */
assign_query_info();
$smarty->display('goods_batch_select.htm');
} /*------------------------------------------------------ */
//-- 批量修改:修改
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'edit')
{
/* 检查权限 */
admin_priv('goods_batch'); /* 取得商品列表 */
if ($_POST['select_method'] == 'cat')
{
$where = " WHERE goods_id " . db_create_in($_POST['goods_ids']);
}
else
{
$goods_sns = str_replace("\n", ',', str_replace("\r", '', $_POST['sn_list']));
$sql = "SELECT DISTINCT goods_id FROM " . $ecs->table('goods') .
" WHERE goods_sn " . db_create_in($goods_sns);
$goods_ids = join(',', $db->getCol($sql));
$where = " WHERE goods_id " . db_create_in($goods_ids);
}
$sql = "SELECT DISTINCT goods_id, goods_sn, goods_name, market_price, shop_price, goods_number, integral, give_integral, brand_id, is_real FROM " . $ecs->table('goods') . $where;
$smarty->assign('goods_list', $db->getAll($sql)); /* 取编辑商品的货品列表 */
$product_exists = false;
$sql = "SELECT * FROM " . $ecs->table('products') . $where;
$product_list = $db->getAll($sql); if (!empty($product_list))
{
$product_exists = true;
$_product_list = array();
foreach ($product_list as $value)
{
$goods_attr = product_goods_attr_list($value['goods_id']);
$_goods_attr_array = explode('|', $value['goods_attr']);
if (is_array($_goods_attr_array))
{
$_temp = '';
foreach ($_goods_attr_array as $_goods_attr_value)
{
$_temp[] = $goods_attr[$_goods_attr_value];
}
$value['goods_attr'] = implode(',', $_temp);
} $_product_list[$value['goods_id']][] = $value;
}
$smarty->assign('product_list', $_product_list); //释放资源
unset($product_list, $sql, $_product_list);
} $smarty->assign('product_exists', $product_exists); /* 取得会员价格 */
$member_price_list = array();
$sql = "SELECT DISTINCT goods_id, user_rank, user_price FROM " . $ecs->table('member_price') . $where;
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$member_price_list[$row['goods_id']][$row['user_rank']] = $row['user_price'];
}
$smarty->assign('member_price_list', $member_price_list); /* 取得会员等级 */
$sql = "SELECT rank_id, rank_name, discount " .
"FROM " . $ecs->table('user_rank') .
" ORDER BY discount DESC";
$smarty->assign('rank_list', $db->getAll($sql)); /* 取得品牌列表 */
$smarty->assign('brand_list', get_brand_list()); /* 赋值编辑方式 */
$smarty->assign('edit_method', $_POST['edit_method']); /* 参数赋值 */
$ur_here = $_LANG['15_batch_edit'];
$smarty->assign('ur_here', $ur_here); /* 显示模板 */
assign_query_info();
$smarty->display('goods_batch_edit.htm');
} /*------------------------------------------------------ */
//-- 批量修改:提交
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'update')
{
/* 检查权限 */
admin_priv('goods_batch'); if ($_POST['edit_method'] == 'each')
{
// 循环更新每个商品
if (!empty($_POST['goods_id']))
{
foreach ($_POST['goods_id'] AS $goods_id)
{
//如果存在货品则处理货品
if (!empty($_POST['product_number'][$goods_id]))
{
$_POST['goods_number'][$goods_id] = 0;
foreach ($_POST['product_number'][$goods_id] as $key => $value)
{
$db->autoExecute($ecs->table('products'), array('product_number', $value), 'UPDATE', "goods_id = '$goods_id' AND product_id = " . $key); $_POST['goods_number'][$goods_id] += $value;
}
} // 更新商品
$goods = array(
'market_price' => floatval($_POST['market_price'][$goods_id]),
'shop_price' => floatval($_POST['shop_price'][$goods_id]),
'integral' => intval($_POST['integral'][$goods_id]),
'give_integral' => intval($_POST['give_integral'][$goods_id]),
'goods_number' => intval($_POST['goods_number'][$goods_id]),
'brand_id' => intval($_POST['brand_id'][$goods_id]),
'last_update' => gmtime(),
);
$db->autoExecute($ecs->table('goods'), $goods, 'UPDATE', "goods_id = '$goods_id'"); // 更新会员价格
if (!empty($_POST['rank_id']))
{
foreach ($_POST['rank_id'] AS $rank_id)
{
if (trim($_POST['member_price'][$goods_id][$rank_id]) == '')
{
/* 为空时不做处理 */
continue;
} $rank = array(
'goods_id' => $goods_id,
'user_rank' => $rank_id,
'user_price'=> floatval($_POST['member_price'][$goods_id][$rank_id]),
);
$sql = "SELECT COUNT(*) FROM " . $ecs->table('member_price') . " WHERE goods_id = '$goods_id' AND user_rank = '$rank_id'";
if ($db->getOne($sql) > 0)
{
if ($rank['user_price'] < 0)
{
$db->query("DELETE FROM " . $ecs->table('member_price') . " WHERE goods_id = '$goods_id' AND user_rank = '$rank_id'");
}
else
{
$db->autoExecute($ecs->table('member_price'), $rank, 'UPDATE', "goods_id = '$goods_id' AND user_rank = '$rank_id'");
} }
else
{
if ($rank['user_price'] >= 0)
{
$db->autoExecute($ecs->table('member_price'), $rank, 'INSERT');
}
}
}
}
}
}
}
else
{
// 循环更新每个商品
if (!empty($_POST['goods_id']))
{
foreach ($_POST['goods_id'] AS $goods_id)
{
// 更新商品
$goods = array();
if (trim($_POST['market_price'] != ''))
{
$goods['market_price'] = floatval($_POST['market_price']);
}
if (trim($_POST['shop_price']) != '')
{
$goods['shop_price'] = floatval($_POST['shop_price']);
}
if (trim($_POST['integral']) != '')
{
$goods['integral'] = intval($_POST['integral']);
}
if (trim($_POST['give_integral']) != '')
{
$goods['give_integral'] = intval($_POST['give_integral']);
}
if (trim($_POST['goods_number']) != '')
{
$goods['goods_number'] = intval($_POST['goods_number']);
}
if ($_POST['brand_id'] > 0)
{
$goods['brand_id'] = $_POST['brand_id'];
}
if (!empty($goods))
{
$db->autoExecute($ecs->table('goods'), $goods, 'UPDATE', "goods_id = '$goods_id'");
} // 更新会员价格
if (!empty($_POST['rank_id']))
{
foreach ($_POST['rank_id'] AS $rank_id)
{
if (trim($_POST['member_price'][$rank_id]) != '')
{
$rank = array(
'goods_id' => $goods_id,
'user_rank' => $rank_id,
'user_price'=> floatval($_POST['member_price'][$rank_id]),
); $sql = "SELECT COUNT(*) FROM " . $ecs->table('member_price') . " WHERE goods_id = '$goods_id' AND user_rank = '$rank_id'";
if ($db->getOne($sql) > 0)
{
if ($rank['user_price'] < 0)
{
$db->query("DELETE FROM " . $ecs->table('member_price') . " WHERE goods_id = '$goods_id' AND user_rank = '$rank_id'");
}
else
{
$db->autoExecute($ecs->table('member_price'), $rank, 'UPDATE', "goods_id = '$goods_id' AND user_rank = '$rank_id'");
} }
else
{
if ($rank['user_price'] >= 0)
{
$db->autoExecute($ecs->table('member_price'), $rank, 'INSERT');
}
}
}
}
}
}
}
} // 记录日志
admin_log('', 'batch_edit', 'goods'); // 提示成功
$link[] = array('href' => 'goods_batch.php?act=select', 'text' => $_LANG['15_batch_edit']);
sys_msg($_LANG['batch_edit_ok'], 0, $link);
} /*------------------------------------------------------ */
//-- 下载文件
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'download')
{
/* 检查权限 */
admin_priv('goods_batch'); // 文件标签
// Header("Content-type: application/octet-stream");
header("Content-type: application/vnd.ms-excel; charset=utf-8");
Header("Content-Disposition: attachment; filename=goods_list.csv"); // 下载
if ($_GET['charset'] != $_CFG['lang'])
{
$lang_file = '../languages/' . $_GET['charset'] . '/admin/goods_batch.php';
if (file_exists($lang_file))
{
unset($_LANG['upload_goods']);
require($lang_file);
}
}
if (isset($_LANG['upload_goods']))
{
/* 创建字符集转换对象 */
if ($_GET['charset'] == 'zh_cn' || $_GET['charset'] == 'zh_tw')
{
$to_charset = $_GET['charset'] == 'zh_cn' ? 'GB2312' : 'BIG5';
echo ecs_iconv(EC_CHARSET, $to_charset, join(',', $_LANG['upload_goods']));
}
else
{
echo join(',', $_LANG['upload_goods']);
}
}
else
{
echo 'error: $_LANG[upload_goods] not exists';
}
} /*------------------------------------------------------ */
//-- 取得商品
/*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'get_goods')
{
$filter = &new stdclass; $filter->cat_id = intval($_GET['cat_id']);
$filter->brand_id = intval($_GET['brand_id']);
$filter->real_goods = -1;
$arr = get_goods_list($filter); make_json_result($arr);
} ?>

ecshop 后台批量上传商品 完整上传的更多相关文章

  1. ecshop 后台添加 成本价 利润

    ecshop后台admin中的商品操作php文件,goods.php替换为下面的代码, 还要在数据库商品本店售价后门添加  cost  字段 为 商品成本价 ecs_goods表中添加  cost  ...

  2. Ecshop商品描述上传中文名图片无法显示解决方法

    在后台上传商品图片的时候,如果你选择一个中文名称的图片,那么上传后会产生乱码,导致图片显示不出来. 下面说一种解决办法:使用"年月日时分秒 + 6个随机字符"做为文件名,如 201 ...

  3. ECSHOP后台编辑器不能上传中文名图片的解决办法

    在后台上传商品图片的时候,如果你选择一个中文名称的图片,那么上传后会产生乱码,导致图片显示不出来. 下面说一种解决办法: 使用“年月日时分秒 + 6个随机字符”做为文件名,如 201010161356 ...

  4. 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程

    说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...

  5. 第37课 thinkphp5添加商品基本信息及通过前置钩子上传商品主图 模型事件(勾子函数)

    目录 手册地址: before_insert(新增之前的操作) 要实现的功能 思路 触发条件: 1. 控制器里必须要调用模型的save()方式保存数据,用insert()触发不了勾子函数的 2. 模型 ...

  6. TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片

    **TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片首先我们来看看淘宝的功能和样式:** 之后看看制作完成的演示:(由于全部功能弄成GIF有点大,限制上传大小好像在1M之内,压缩之后也有1.9 ...

  7. 在Ecshop后台打印订单页面将商品按货号排序

    ECSHOP后台管理里的“打印订单" 页面里的商品排序有点乱,现在想改成按序号来排序,修改方法如下 下面是在2.7.2基础上做的修改 打开 admin/order.php  文件 找到(大约 ...

  8. 文件上传利器JQuery上传插件Uploadify

    在做日常项目中,经常在后台需要上传图片等资源文件,之前使用过几次这个组件,感觉非常好用 ,但是每次使用的时候都是需要经过一番查阅,所以还不如记住在这里,以后使用的时候就翻翻. 他的官方网站如下:htt ...

  9. 百度Web Uploader组件实现文件上传之分片上传(一)

    当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件.另外分片传输能够更加实时的跟踪上传进度.多的不说了直接怼代码 前端是三个监听:一个是获取md5,一个是分片,最后一个是合并代码 <! ...

随机推荐

  1. Android SDK Manager安装报错

    安装出错了,上网百度一大堆说法,又说版本兼容问题的,有说http换https的,我这个菜鸟真搞不明白,自己捣腾一下午总算弄上去了! 问题: 安装完Eclipse和ADT却无法更新SDK. 启动Andr ...

  2. TCP与UDP各自特点对比

    UDP和TCP是我们最常用的两种通信方式,下面就两者之间的特点做一个对比: 1.UDP主要用在实时性要求高以及对质量相对较弱的地方,如流媒体. 2.TCP既然是面向连接的,那么运行环境必然要求其保证可 ...

  3. express for node 路由route几种实现方式的思考

    1.路由实现方式和顺序 express框架创建的模板app,js中默认代码 var express = require('express'); var routes = require('./rout ...

  4. ios23-文件上传

    1.上传图片 3. // //  ios23_uploadViewController.h //  ios23-upload // //  Created by  on 13-6-17. //  Co ...

  5. Python 生成的页面中文乱码问题

    第一 保证 程序源文件里的中文的编码格式,如我们把 源文件的编码设置成utf8的. reload(sys) sys.setdefaultencoding('utf-8') 第二, 告诉浏览器,我们须要 ...

  6. hdu1569find the safest road(floyd变形求最大安全值)

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  7. NET5

    ASP.NET5(RC1) - 翻译 前言 ASP.NET 5 是一次令人惊叹的对于ASP.NET的创新革命. 他将构建目标瞄准了 .NET Core CLR, 同时ASP.NET又是对于云服务进行优 ...

  8. jQuery 自学笔记—8 常见操作

    jQuery 拥有可操作 HTML 元素和属性的强大方法. jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力. jQuery 提供一系列与 DOM 相关的方法,这使 ...

  9. hdu4055 Number String

    Number String Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...

  10. [c++语法]类

    什么是类 类 是 面向对象的基础.c里面是没有对象的,只有数据,即静态的死物. 从面向过程升级到面向对象后,有了对象的概念,对象是数据与方法的合体,是动态的活物. 类代表着一类事物的特征.而对象,是类 ...