ECShop从后台上传产品的图片分别存储在images文件夹下的goods_img、thumb_img、source_img三个文件夹下的,并且图片的名字都是随机产生的;本节主要是讲解如何对ECShop上传图片名称重命名及以其商品货号为名称每款产品创建一个文件夹,将其产品图片存储在其对应的文件夹下。
打开admin/includes/lib_goods.php
原文件:
修改后:
/**
* 格式化商品图片名称(按目录存储)
*
*/
function reformat_image_name($type, $goods_id, $source_img, $position='')
{
//$rand_name = gmtime() . sprintf("%03d", mt_rand(1,999));
//获取当前商品的货号
$sql = "SELECT goods_sn FROM " . $GLOBALS['ecs']->table('goods') ."
WHERE goods_id = '$goods_id'";
$goods_sn = $GLOBALS['db']->getOne($sql);
$rand_name = mt_rand(1,9999).'_'.$goods_sn;
$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'.'/'.$goods_sn))
{
return false;
}
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir.'/goods_img'.'/'.$goods_sn))
{
return false;
}
if (!make_dir(ROOT_PATH.$dir.'/'.$sub_dir.'/thumb_img'.'/'.$goods_sn))
{
return false;
}
switch($type)
{
case 'goods':
$img_name = $goods_id . '_G_' . $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/'.$goods_sn.'/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/source_img/'.$goods_sn.'/'.$img_name.$img_ext;
}
}
elseif ($position == 'thumb')
{
if(move_image_file(ROOT_PATH.$source_img, ROOT_PATH.$dir.'/'.$sub_dir.'/thumb_img/'.$goods_sn.'/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/thumb_img/'.$goods_sn.'/'.$img_name.$img_ext;
}
}
else
{
if(move_image_file(ROOT_PATH.$source_img, ROOT_PATH.$dir.'/'.$sub_dir.'/goods_img/'.$goods_sn.'/'.$img_name.$img_ext))
{
return $dir.'/'.$sub_dir.'/goods_img/'.$goods_sn.'/'.$img_name.$img_ext;
}
}
return false;
}