ecshop 后台增加上传图片项
2015-12-01 16:34
525 查看
(
还想在images/年月/下建立一个新的文件夹goods_new_img
准备:首先要先建立好goods_new_img,并且要有相关的权限
)
goods_info.html
<tr> <td class="label">{$lang.lab_picture}new</td> <td> <input type="file" name="goods_new_img" size="35" /> </td> </tr>
goods.php
/*------------------------------------------------------ */
//-- 添加新商品 编辑商品
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'add' || $_REQUEST['act'] == 'edit' || $_REQUEST['act'] == 'copy'){
//这里面要改的东东,也就是复制商品里面的相应代码,自己看着改就是了
/* 如果是复制商品,处理 */
if ($_REQUEST['act'] == 'copy')
}
最主要的是修改下面的内容了,黑体加粗的就是修改或添加的内容了.(因为我的ecshop已经修改过了,所以行码可能不准,大家仔细分辨一下就清楚了).
/*------------------------------------------------------ */
//-- 插入商品 更新商品
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'insert' || $_REQUEST['act'] == 'update')
{
$code = empty($_REQUEST['extension_code']) ? '' : trim($_REQUEST['extension_code']);
/* 是否处理缩略图 */
$proc_thumb = (isset($GLOBALS['shop_id']) && $GLOBALS['shop_id'] > 0)? false : true;
if ($code == 'virtual_card')
{
admin_priv('virualcard'); // 检查权限
}
else
{
admin_priv('goods_manage'); // 检查权限
}
/* 检查货号是否重复 */
if ($_POST['goods_sn'])
{
$sql = "SELECT COUNT(*) FROM " . $ecs->table('goods') .
" WHERE goods_sn = '$_POST[goods_sn]' AND is_delete = 0 AND goods_id <> '$_POST[goods_id]'";
if ($db->getOne($sql) > 0)
{
sys_msg($_LANG['goods_sn_exists'], 1, array(), false);
}
}
/* (self)检查图片:如果有错误,检查尺寸是否超过最大值;否则,检查文件类型 */
if (isset($_FILES['goods_new_img']['error'])) // php 4.2 版本才支持 error
{
// 最大上传文件大小
$php_maxsize = ini_get('upload_max_filesize');
$htm_maxsize = '2M';
// 商品图片
if ($_FILES['goods_new_img']['error'] == 0)
{
if (!$image->check_img_type($_FILES['goods_new_img']['type']))
{
sys_msg($_LANG['invalid_goods_img'], 1, array(), false);
}
}
elseif ($_FILES['goods_new_img']['error'] == 1)
{
sys_msg(sprintf($_LANG['goods_img_too_big'], $php_maxsize), 1, array(), false);
}
elseif ($_FILES['goods_new_img']['error'] == 2)
{
sys_msg(sprintf($_LANG['goods_img_too_big'], $htm_maxsize), 1, array(), false);
}
}
/* 检查图片:如果有错误,检查尺寸是否超过最大值;否则,检查文件类型 */
if (isset($_FILES['goods_img']['error'])) // php 4.2 版本才支持 error
{
// 最大上传文件大小
$php_maxsize = ini_get('upload_max_filesize');
$htm_maxsize = '2M';
// 商品图片
if ($_FILES['goods_img']['error'] == 0)
{
if (!$image->check_img_type($_FILES['goods_img']['type']))
{
sys_msg($_LANG['invalid_goods_img'], 1, array(), false);
}
}
elseif ($_FILES['goods_img']['error'] == 1)
{
sys_msg(sprintf($_LANG['goods_img_too_big'], $php_maxsize), 1, array(), false);
}
elseif ($_FILES['goods_img']['error'] == 2)
{
sys_msg(sprintf($_LANG['goods_img_too_big'], $htm_maxsize), 1, array(), false);
}
// 商品缩略图
if (iss
4000
et($_FILES['goods_thumb']))
{
if ($_FILES['goods_thumb']['error'] == 0)
{
if (!$image->check_img_type($_FILES['goods_thumb']['type']))
{
sys_msg($_LANG['invalid_goods_thumb'], 1, array(), false);
}
}
elseif ($_FILES['goods_thumb']['error'] == 1)
{
sys_msg(sprintf($_LANG['goods_thumb_too_big'], $php_maxsize), 1, array(), false);
}
elseif ($_FILES['goods_thumb']['error'] == 2)
{
sys_msg(sprintf($_LANG['goods_thumb_too_big'], $htm_maxsize), 1, array(), false);
}
}
// 相册图片
foreach ($_FILES['img_url']['error'] AS $key => $value)
{
if ($value == 0)
{
if (!$image->check_img_type($_FILES['img_url']['type'][$key]))
{
sys_msg(sprintf($_LANG['invalid_img_url'], $key + 1), 1, array(), false);
}
}
elseif ($value == 1)
{
sys_msg(sprintf($_LANG['img_url_too_big'], $key + 1, $php_maxsize), 1, array(), false);
}
elseif ($_FILES['img_url']['error'] == 2)
{
sys_msg(sprintf($_LANG['img_url_too_big'], $key + 1, $htm_maxsize), 1, array(), false);
}
}
}
/* 4.1版本 */
else
{
// 商品图片
if ($_FILES['goods_img']['tmp_name'] != 'none')
{
if (!$image->check_img_type($_FILES['goods_img']['type']))
{
sys_msg($_LANG['invalid_goods_img'], 1, array(), false);
}
}
// 商品缩略图
if (isset($_FILES['goods_thumb']))
{
if ($_FILES['goods_thumb']['tmp_name'] != 'none')
{
if (!$image->check_img_type($_FILES['goods_thumb']['type']))
{
sys_msg($_LANG['invalid_goods_thumb'], 1, array(), false);
}
}
}
// 相册图片
foreach ($_FILES['img_url']['tmp_name'] AS $key => $value)
{
if ($value != 'none')
{
if (!$image->check_img_type($_FILES['img_url']['type'][$key]))
{
sys_msg(sprintf($_LANG['invalid_img_url'], $key + 1), 1, array(), false);
}
}
}
}
/* 插入还是更新的标识 */
$is_insert = $_REQUEST['act'] == 'insert';
/* 处理商品图片 */
$goods_img = ''; // 初始化商品图片
$goods_new_img = ''; // 初始化商品图片2
$goods_thumb = ''; // 初始化商品缩略图
$original_img = ''; // 初始化原始图片
$old_original_img = ''; // 初始化原始图片旧图
// 是否上传商品图片new
if (isset($_FILES['goods_new_img']) && $_FILES['goods_new_img']['tmp_name'] != '' &&
isset($_FILES['goods_new_img']['tmp_name']) &&$_FILES['goods_new_img']['tmp_name'] != 'none')
{
// 上传了,直接使用,原始大小
$goods_new_img = $image->upload_image($_FILES['goods_new_img']);
if ($goods_new_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
// 如果上传了商品图片,相应处理
if (($_FILES['goods_img']['tmp_name'] != '' && $_FILES['goods_img']['tmp_name'] != 'none') or (($_POST['goods_img_url'] != $_LANG['lab_picture_url'] && $_POST['goods_img_url'] != 'http://') && $is_url_goods_img = 1))
{
if ($_REQUEST['goods_id'] > 0)
{
/* 删除原来的图片文件 */
$sql = "SELECT goods_thumb, goods_img, original_img " .
" FROM " . $ecs->table('goods') .
" WHERE goods_id = '$_REQUEST[goods_id]'";
$row = $db->getRow($sql);
if ($row['goods_thumb'] != '' && is_file('../' . $row['goods_thumb']))
{
@unlink('../' . $row['goods_thumb']);
}
if ($row['goods_img'] != '' && is_file('../' . $row['goods_img']))
{
@unlink('../' . $row['goods_img']);
}
if ($row['original_img'] != '' && is_file('../' . $row['original_img']))
{
/* 先不处理,以防止程序中途出错停止 */
//$old_original_img = $row['original_img']; //记录旧图路径
}
/* 清除原来商品图片 */
if ($proc_thumb === false)
{
get_image_path($_REQUEST[goods_id], $row['goods_img'], false, 'goods', true);
get_image_path($_REQUEST[goods_id], $row['goods_thumb'], true, 'goods', true);
}
}
if (empty($is_url_goods_img))
{
$original_img = $image->upload_image($_FILES['goods_img']); // 原始图片
}
elseif (copy(trim($_POST['goods_img_url']), ROOT_PATH . 'temp/' . basename($_POST['goods_img_url'])))
{
$original_img = 'temp/' . basename($_POST['goods_img_url']);
}
if ($original_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
$goods_img = $original_img; // 商品图片
/* 复制一份相册图片 */
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
$img = $original_img; // 相册图片
$pos = strpos(basename($img), '.');
$newname = dirname($img) . '/' . $image->random_filename() . substr(basename($img), $pos);
if (!copy('../' . $img, '../' . $newname))
{
sys_msg('fail to copy file: ' . realpath('../' . $img), 1, array(), false);
}
$img = $newname;
$gallery_img = $img;
$gallery_thumb = $img;
}
// 如果系统支持GD,缩放商品图片,且给商品图片和相册图片加水印
if ($proc_thumb && $image->gd_version() > 0 && $image->check_img_function($_FILES['goods_img']['type']) || $is_url_goods_img)
{
if (empty($is_url_goods_img))
{
// 如果设置大小不为0,缩放图片
if ($_CFG['image_width'] != 0 || $_CFG['image_height'] != 0)
{
$goods_img = $image->make_thumb('../'. $goods_img , $GLOBALS['_CFG']['image_width'], $GLOBALS['_CFG']['image_height']);
if ($goods_img === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
$newname = dirname($img) . '/' . $image->random_filename() . substr(basename($img), $pos);
if (!copy('../' . $img, '../' . $newname))
{
sys_msg('fail to copy file: ' . realpath('../' . $img), 1, array(), false);
}
$gallery_img = $newname;
}
// 加水印
if (intval($_CFG['watermark_place']) > 0 && !empty($GLOBALS['_CFG']['watermark']))
{
if ($image->add_watermark('../'.$goods_img,'',$GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']) === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
if ($image->add_watermark('../'. $gallery_img,'',$GLOBALS['_CFG']['watermark'], $GLOBALS['_CFG']['watermark_place'], $GLOBALS['_CFG']['watermark_alpha']) === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
}
}
// 相册缩略图
/* 添加判断是否自动生成相册图片 */
if ($_CFG['auto_generate_gallery'])
{
if ($_CFG['thumb_width'] != 0 || $_CFG['thumb_height'] != 0)
{
$gallery_thumb = $image->make_thumb('../' . $img, $GLOBALS['_CFG']['thumb_width'], $GLOBALS['_CFG']['thumb_height']);
if ($gallery_thumb === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
}
}
/* 取消该原图复制流程 */
// else
// {
// /* 复制一份原图 */
// $pos = strpos(basename($img), '.');
// $gallery_img = dirname($img) . '/' . $image->random_filename() . // substr(basename($img), $pos);
// if (!copy('../' . $img, '../' . $gallery_img))
// {
// sys_msg('fail to copy file: ' . realpath('../' . $img), 1, array(), false);
// }
// $gallery_thumb = '';
// }
}
// 是否上传商品缩略图
if (isset($_FILES['goods_thumb']) && $_FILES['goods_thumb']['tmp_name'] != '' &&
isset($_FILES['goods_thumb']['tmp_name']) &&$_FILES['goods_thumb']['tmp_name'] != 'none')
{
// 上传了,直接使用,原始大小
$goods_thumb = $image->upload_image($_FILES['goods_thumb']);
if ($goods_thumb === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
else
{
// 未上传,如果自动选择生成,且上传了商品图片,生成所略图
if ($proc_thumb && isset($_POST['auto_thumb']) && !empty($original_img))
{
// 如果设置缩略图大小不为0,生成缩略图
if ($_CFG['thumb_width'] != 0 || $_CFG['thumb_height'] != 0)
{
$goods_thumb = $image->make_thumb('../' . $original_img, $GLOBALS['_CFG']['thumb_width'], $GLOBALS['_CFG']['thumb_height']);
if ($goods_thumb === false)
{
sys_msg($image->error_msg(), 1, array(), false);
}
}
else
{
$goods_thumb = $original_img;
}
}
}
// print_r(IMAGE_DIR);exit;
/* 删除下载的外链原图 */
if (!empty($is_url_goods_img))
{
unlink(ROOT_PATH . $original_img);
empty($newname) || unlink(ROOT_PATH . $newname);
$url_goods_img = $goods_img = $original_img = htmlspecialchars(trim($_POST['goods_img_url']));
}
/* 如果没有输入商品货号则自动生成一个商品货号 */
if (empty($_POST['goods_sn']))
{
$max_id = $is_insert ? $db->getOne("SELECT MAX(goods_id) + 1 FROM ".$ecs->table('goods')) : $_REQUEST['goods_id'];
$goods_sn = generate_goods_sn($max_id);
}
else
{
$goods_sn = $_POST['goods_sn'];
}
/* 处理商品数据 */
$shop_price = !empty($_POST['shop_price']) ? $_POST['shop_price'] : 0;
$goods_freight = !empty($_POST['goods_freight']) ? $_POST['goods_freight'] : 0;
$sold_num = !empty($_POST['sold_num']) ? $_POST['sold_num'] : 0;
$market_price = !empty($_POST['market_price']) ? $_POST['market_price'] : 0;
$promote_price = !empty($_POST['promote_price']) ? floatval($_POST['promote_price'] ) : 0;
$is_promote = empty($promote_price) ? 0 : 1;
$promote_start_date = ($is_promote && !empty($_POST['promote_start_date'])) ? local_strtotime($_POST['promote_start_date']) : 0;
$promote_end_date = ($is_promote && !empty($_POST['promote_end_date'])) ? local_strtotime($_POST['promote_end_date']) : 0;
10492
$goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] * $_POST['weight_unit'] : 0;
$is_best = isset($_POST['is_best']) ? 1 : 0;
$is_new = isset($_POST['is_new']) ? 1 : 0;
$is_hot = isset($_POST['is_hot']) ? 1 : 0;
$is_on_sale = isset($_POST['is_on_sale']) ? 1 : 0;
$is_alone_sale = isset($_POST['is_alone_sale']) ? 1 : 0;
$is_shipping = isset($_POST['is_shipping']) ? 1 : 0;
$goods_number = isset($_POST['goods_number']) ? $_POST['goods_number'] : 0;
$warn_number = isset($_POST['warn_number']) ? $_POST['warn_number'] : 0;
$goods_type = isset($_POST['goods_type']) ? $_POST['goods_type'] : 0;
$give_integral = isset($_POST['give_integral']) ? intval($_POST['give_integral']) : '-1';
$rank_integral = isset($_POST['rank_integral']) ? intval($_POST['rank_integral']) : '-1';
$suppliers_id = isset($_POST['suppliers_id']) ? intval($_POST['suppliers_id']) : '0';
$goods_name_style = $_POST['goods_name_color'] . '+' . $_POST['goods_name_style'];
$catgory_id = empty($_POST['cat_id']) ? '' : intval($_POST['cat_id']);
$brand_id = empty($_POST['brand_id']) ? '' : intval($_POST['brand_id']);
$goods_thumb = (empty($goods_thumb) && !empty($_POST['goods_thumb_url']) && goods_parse_url($_POST['goods_thumb_url'])) ? htmlspecialchars(trim($_POST['goods_thumb_url'])) : $goods_thumb;
$goods_thumb = (empty($goods_thumb) && isset($_POST['auto_thumb']))? $goods_img : $goods_thumb;
/* 入库 */
if ($is_insert)
{
if ($code == '')
{
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name,goods_seo_name, goods_name_style, goods_sn, " .
"cat_id, brand_id, shop_price,goods_freight,sold_num,market_price, is_promote, promote_price, " .
"promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, goods_new_img,keywords, goods_brief, " .
"seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, " .
"is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, rank_integral, suppliers_id)" .
"VALUES ('$_POST[goods_name]','$_POST[goods_seo_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
"'$brand_id', '$shop_price',' $goods_freight','$sold_num', '$market_price', '$is_promote','$promote_price', ".
"'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', '$goods_new_img',".
"'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',".
" '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', '$is_on_sale', '$is_alone_sale', $is_shipping, ".
" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral', '$suppliers_id')";
}
else
{
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name,goods_seo_name, goods_name_style, goods_sn, " .
"cat_id, brand_id, shop_price,goods_freight,sold_num market_price, is_promote, promote_price, " .
"promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, goods_new_img,keywords, goods_brief, " .
"seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, is_real, " .
"is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, extension_code, rank_integral)" .
"VALUES ('$_POST[goods_name]','$_POST[goods_seo_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
"'$brand_id', '$shop_price',' $goods_freight','$sold_num', '$market_price', '$is_promote','$promote_price', ".
"'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', '$goods_new_img',".
"'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',".
" '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', 0, '$is_on_sale', '$is_alone_sale', $is_shipping, ".
" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')";
}
}
else
{
/* 如果有上传图片,删除原来的商品图 */
$sql = "SELECT goods_thumb, goods_img, original_img,goods_new_img " .
" FROM " . $ecs->table('goods') .
" WHERE goods_id = '$_REQUEST[goods_id]'";
$row = $db->getRow($sql);
/*(self)*/
if ($proc_thumb && $goods_img && $row['goods_new_img'] && !goods_parse_url($row['goods_new_img']))
{
@unlink(ROOT_PATH . $row['goods_new_img']);
}
if ($proc_thumb && $goods_new_img && $row['goods_img'] && !goods_parse_url($row['goods_img']))
{
@unlink(ROOT_PATH . $row['goods_img']);
@unlink(ROOT_PATH . $row['original_img']);
}
if ($proc_thumb && $goods_thumb && $row['goods_thumb'] && !goods_parse_url($row['goods_thumb']))
{
@unlink(ROOT_PATH . $row['goods_thumb']);
}
$sql = "UPDATE " . $ecs->table('goods') . " SET " .
"goods_name = '$_POST[goods_name]', " .
"goods_seo_name = '$_POST[goods_seo_name]', " .
"goods_name_style = '$goods_name_style', " .
"goods_sn = '$goods_sn', " .
"cat_id = '$catgory_id', " .
"brand_id = '$brand_id', " .
"shop_price = '$shop_price', " .
"goods_freight = '$goods_freight', " .
"sold_num = '$sold_num', " .
"market_price = '$market_price', " .
"is_promote = '$is_promote', " .
"promote_price = '$promote_price', " .
"promote_start_date = '$promote_start_date', " .
"suppliers_id = '$suppliers_id', " .
"promote_end_date = '$promote_end_date', ";
/* 如果有上传图片,需要更新数据库 */
//图片(self)
if ($goods_new_img)
{
$sql .= "goods_new_img = '$goods_new_img', ";
}
if ($goods_img)
{
$sql .= "goods_img = '$goods_img', original_img = '$original_img', ";
}
if ($goods_thumb)
{
$sql .= "goods_thumb = '$goods_thumb', ";
}
if ($code != '')
{
$sql .= "is_real=0, extension_code='$code', ";
}
$sql .= "keywords = '$_POST[keywords]', " .
"goods_brief = '$_POST[goods_brief]', " .
"seller_note = '$_POST[seller_note]', " .
"goods_weight = '$goods_weight'," .
"goods_number = '$goods_number', " .
"warn_number = '$warn_number', " .
"integral = '$_POST[integral]', " .
"give_integral = '$give_integral', " .
"rank_integral = '$rank_integral', " .
"is_best = '$is_best', " .
"is_new = '$is_new', " .
"is_hot = '$is_hot', " .
"is_on_sale = '$is_on_sale', " .
"is_alone_sale = '$is_alone_sale', " .
"is_shipping = '$is_shipping', " .
"goods_desc = '$_POST[goods_desc]', " .
"last_update = '". gmtime() ."', ".
"goods_type = '$goods_type' " .
"WHERE goods_id = '$_REQUEST[goods_id]' LIMIT 1";
}
// print_r($sql);exit;
$db->query($sql);
/* 商品编号 */
$goods_id = $is_insert ? $db->insert_id() : $_REQUEST['goods_id'];
/* 记录日志 */
if ($is_insert)
{
admin_log($_POST['goods_name'], 'add', 'goods');
}
else
{
admin_log($_POST['goods_name'], 'edit', 'goods');
}
/* 处理属性 */
if ((isset($_POST['attr_id_list']) && isset($_POST['attr_value_list'])) || (empty($_POST['attr_id_list']) && empty($_POST['attr_value_list'])))
{
// 取得原有的属性值
$goods_attr_list = array();
$keywords_arr = explode(" ", $_POST['keywords']);
$keywords_arr = array_flip($keywords_arr);
if (isset($keywords_arr['']))
{
unset($keywords_arr['']);
}
$sql = "SELECT attr_id, attr_index FROM " . $ecs->table('attribute') . " WHERE cat_id = '$goods_type'";
$attr_res = $db->query($sql);
$attr_list = array();
while ($row = $db->fetchRow($attr_res))
{
$attr_list[$row['attr_id']] = $row['attr_index'];
}
$sql = "SELECT g.*, a.attr_type
FROM " . $ecs->table('goods_attr') . " AS g
LEFT JOIN " . $ecs->table('attribute') . " AS a
ON a.attr_id = g.attr_id
WHERE g.goods_id = '$goods_id'";
$res = $db->query($sql);
while ($row = $db->fetchRow($res))
{
$goods_attr_list[$row['attr_id']][$row['attr_value']] = array('sign' => 'delete', 'goods_attr_id' => $row['goods_attr_id']);
}
// 循环现有的,根据原有的做相应处理
if(isset($_POST['attr_id_list']))
{
foreach ($_POST['attr_id_list'] AS $key => $attr_id)
{
$attr_value = $_POST['attr_value_list'][$key];
$attr_price = $_POST['attr_price_list'][$key];
if (!empty($attr_value))
{
if (isset($goods_attr_list[$attr_id][$attr_value]))
{
// 如果原来有,标记为更新
$goods_attr_list[$attr_id][$attr_value]['sign'] = 'update';
$goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price;
}
else
{
// 如果原来没有,标记为新增
$goods_attr_list[$attr_id][$attr_value]['sign'] = 'insert';
$goods_attr_list[$attr_id][$attr_value]['attr_price'] = $attr_price;
}
$val_arr = explode(' ', $attr_value);
foreach ($val_arr AS $k => $v)
{
if (!isset($keywords_arr[$v]) && $attr_list[$attr_id] == "1")
{
$keywords_arr[$v] = $v;
}
}
}
}
}
$keywords = join(' ', array_flip($keywords_arr));
$sql = "UPDATE " .$ecs->table('goods'). " SET keywords = '$keywords' WHERE goods_id = '$goods_id' LIMIT 1";
$db->query($sql);
/* 插入、更新、删除数据 */
foreach ($goods_attr_list as $attr_id => $attr_value_list)
{
foreach ($attr_value_list as $attr_value => $info)
{
if ($info['sign'] == 'insert')
{
$sql = "INSERT INTO " .$ecs->table('goods_attr'). " (attr_id, goods_id, attr_value, attr_price)".
"VALUES ('$attr_id', '$goods_id', '$attr_value', '$info[attr_price]')";
}
elseif ($info['sign'] == 'update')
{
$sql = "UPDATE " .$ecs->table('goods_attr'). " SET attr_price = '$info[attr_price]' WHERE goods_attr_id = '$info[goods_attr_id]' LIMIT 1";
}
else
{
$sql = "DELETE FROM " .$ecs->table('goods_attr'). " WHERE goods_attr_id = '$info[goods_attr_id]' LIMIT 1";
}
$db->query($sql);
}
}
}
/* 处理会员价格 */
if (isset($_POST['user_rank']) && isset($_POST['user_price']))
{
handle_member_price($goods_id, $_POST['user_rank'], $_POST['user_price']);
}
/* 处理优惠价格 */
if (isset($_POST['volume_number']) && isset($_POST['volume_price']))
{
$temp_num = array_count_values($_POST['volume_number']);
foreach($temp_num as $v)
{
if ($v > 1)
{
sys_msg($_LANG['volume_number_continuous'], 1, array(), false);
break;
}
}
handle_volume_price($goods_id, $_POST['volume_number'], $_POST['volume_price']);
}
/* 处理扩展分类 */
if (isset($_POST['other_cat']))
{
handle_other_cat($goods_id, array_unique($_POST['other_cat']));
}
if ($is_insert)
{
/* 处理关联商品 */
handle_link_goods($goods_id);
/* 处理组合商品 */
handle_group_goods($goods_id);
/* 处理关联文章 */
handle_goods_article($goods_id);
}
/* 重新格式化图片名称 */
$original_img = reformat_image_name('goods', $goods_id, $original_img, 'source');
$goods_img = reformat_image_name('goods', $goods_id, $goods_img, 'goods');
$goods_new_img = reformat_image_name('goods_new', $goods_id, $goods_new_img, 'goods_new');//新的图片
$goods_thumb = reformat_image_name('goods_thumb', $goods_id, $goods_thumb, 'thumb');
if ($goods_img !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET goods_img = '$goods_img' WHERE goods_id='$goods_id'");
}
//(self)
if ($goods_new_img !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET goods_new_img = '$goods_new_img' WHERE goods_id='$goods_id'");
}
if ($original_img !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET original_img = '$original_img' WHERE goods_id='$goods_id'");
}
if ($goods_thumb !== false)
{
$db->query("UPDATE " . $ecs->table('goods') . " SET goods_thumb = '$goods_thumb' WHERE goods_id='$goods_id'");
}
//下面的代码省略...
}
admin/includes/lib_goods.php
约1260行.
/**
* 格式化商品图片名称(按目录存储)
*
*/
function reformat_image_name($type, $goods_id, $source_img, $position='')
{
$rand_name = gmtime() . sprintf("%03d", mt_rand(1,999));
$img_ext = substr($source_img, strrpos($source_img, '.'));
$dir = 'images';
if (defined('IMAGE_DIR'))
{
$dir = IMAGE_DIR;
}
$sub_dir = date('Ym', gmtime());
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir))
{
return false;
}
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir.'/source_img'))
{
return false;
}
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir.'/goods_img'))
{
return false;
}
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir.'/goods_new_img'))
{
return false;
}
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir.'/thumb_img'))
{
return false;
}
switch($type)
{
case 'goods':
$img_name = $goods_id . '_G_' . $rand_name;
break;
case 'goods_new':
$img_name = $goods_id . '_thumb_M_' . $rand_name;
break;
case 'goods_thumb':
$img_name = $goods_id . '_thumb_G_' . $rand_name;
break;
case 'gallery':
$img_name = $goods_id . '_P_' . $rand_name;
break;
case 'gallery_thumb':
$img_name = $goods_id . '_thumb_P_' . $rand_name;
break;
}
if ($position == 'source')
{
if (move_image_file(ROOT_PATH.$source_img, ROOT_PATH.$dir.'/'.$sub_dir.'/source_img/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/source_img/'.$img_name.$img_ext;
}
}
elseif ($position == 'thumb')
{
if (move_image_file(ROOT_PATH.$source_img, ROOT_PATH.$dir.'/'.$sub_dir.'/thumb_img/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/thumb_img/'.$img_name.$img_ext;
}
}
elseif ($position == 'goods_new')
{
if (move_image_file(ROOT_PATH.$source_img, ROOT_PATH.$dir.'/'.$sub_dir.'/goods_new_img/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/goods_new_img/'.$img_name.$img_ext;
}
}
else
{
if (move_image_file(ROOT_PATH.$source_img, ROOT_PATH.$dir.'/'.$sub_dir.'/goods_img/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/goods_img/'.$img_name.$img_ext;
}
}
return false;
}
转载请保留链接: ecshop
后台增加上传图片项
相关文章推荐
- L10.2 keepalive 实现haproxy高可用(双主模型)
- eclipse8.0项目自动部署到tomcat
- 创建自己的 Core Data Stack
- Hadoop: LongWritable cannot be cast to org.apache.hadoop.io.IntWritable
- Linux下PS1、PS2、PS3、PS4使用详解
- NativeCodeLoader: Unable to load native-hadoop library for your platform
- hadoop对于压缩文件的支持
- Apache配置防盗链
- nginx学习2——常用命令操作
- VMware虚拟机中,Cent OS下中文乱码的解决方法
- VMware虚拟机中,Cent OS下中文乱码的解决方法
- VMware虚拟机中,Cent OS下中文乱码的解决方法
- VMware虚拟机中,Cent OS下中文乱码的解决方法
- VMware虚拟机中,Cent OS下中文乱码的解决方法
- 【OpenCV学习笔记】2.2图像的缩放
- nginx学习3——nginx进程
- ecshop 默认图处理
- mac 安装jdk/maven/tomcat 以及eclipse相关配置
- opencv2机器学习经验记录之cascade分类器训练
- opencart环境搭建