php实现批量导入商品,destoon批量导入产品方法

在destoon b2b网站系统当中增加批量导入商品功能,将当当方便系统数据填充,新网站当中尤为必要

1.添加菜单\admin\data.inc.php和C:\wamp\www\dev_lebaixiao\admin\database.inc.php

$menus = array (

array('产品批量导入', '?file=csvmall'),

);

2.菜单读取csvmall配置文件路径为:

\admin\csvmall.inc.php

require DT_ROOT.'/include/module.func.php';

$menus = array (

array('数据库备份', '?file=database'),

array('数据库恢复', '?file=database&action=import'),

array('字符替换', '?file=database&action=replace'),

array('执行SQL', '?file=database&action=execute'),

array('显示进程', '?file=database&action=process'),

array('数据互转', '?file=database&action=move'),

array('数据导入', '?file=data'),

array('产品批量导入', '?file=csvmall'),

);

include tpl('csvimport');

if($action=='import'){

//导入CSV

$filename = $_FILES['file']['tmp_name'];

if (empty ($filename)) {

msg('请选择要导入的CSV文件!');

exit;

}

$handle = fopen($filename, 'r');

$result = input_csv($handle); //解析csv

$len_result = count($result);

if($len_result==0){

msg('没有任何数据!');

exit;

}

$csvdir='file/uploadcsv/'.date("Ymd").'/';

//创建图片文件夹

if (!file_exists($csvdir)){

mkdir(DT_ROOT.'/'.$csvdir,0777) or msg('图片文件夹创建失败');

}

iconv('gb2312', 'utf-8', $result[$i][1]);

for ($i = 1; $i < $len_result; $i++) { //循环获取各字段值

$itemid = $result[$i][0];

$catid = $result[$i][1];

$areaid = $result[$i][2];

$level = $result[$i][3];

$title =      iconv('gb2312', 'utf-8', $result[$i][4]);

$brand = iconv('gb2312', 'utf-8', $result[$i][5]);

$price = $result[$i][6];

$amount = $result[$i][7];

$keyword = iconv('gb2312', 'utf-8', $result[$i][8]);

$orders = $result[$i][9];

$sales = $result[$i][10];

$thumb = iconv('gb2312', 'utf-8', DT_PATH.$csvdir.$result[$i][11]);

$thumb1 = iconv('gb2312', 'utf-8', DT_PATH.$csvdir.$result[$i][12]);

$thumb2 = iconv('gb2312', 'utf-8', DT_PATH.$csvdir.$result[$i][13]);

$username = $result[$i][14];

$groupid = $result[$i][15];

$company = iconv('gb2312', 'utf-8', $result[$i][16]);

$validated = $result[$i][17];

$truename = iconv('gb2312', 'utf-8', $result[$i][18]);

$telephone = $result[$i][19];

$address = iconv('gb2312', 'utf-8', $result[$i][20]);

$qq = $result[$i][21];

$editor = $result[$i][22];

$edittime = strtotime($result[$i][24]);

$editdate = $result[$i][24];

$addtime = strtotime($result[$i][26]);

$adddate = $result[$i][26];

$status = $result[$i][27];

$linkurl= 'show.php?itemid='.$result[$i][28];

$mallintroduce = iconv('gb2312', 'utf-8', $result[$i][29]);

$data_values .= "('$itemid','$catid','$areaid','$level','$title','$brand','$price','$amount','$keyword','$orders','$sales','$thumb','$thumb1','$thumb2','$username','$groupid','$company','$validated','$truename','$telephone','$address','$qq','$editor','$edittime','$editdate','$addtime','$adddate','$status','$linkurl','$mallintroduce'),";

$datacontent_values .= "('$itemid','$mallintroduce'),";

}

$data_values = substr($data_values,0,-1); //去掉最后一个逗号

$datacontent_values = substr($datacontent_values,0,-1); //去掉最后一个逗号

fclose($handle); //关闭指针

$cvsreslut=$db->query("INSERT INTO  `{$DT_PRE}mall`  (`itemid`,`catid`,`areaid`,`level`,`title`,`brand`,`price`,`amount`,`keyword`,`orders`,`sales`,`thumb`,`thumb1`,`thumb2`,`username`,`groupid`,`company`,`validated`,`truename`,`telephone`,`address`,`qq`,`editor`,`edittime`,`editdate`,`addtime`,`adddate`,`status`,`linkurl`,`mallintroduce`) values $data_values");

$cvsreslutcontent=$db->query("INSERT INTO  `{$DT_PRE}mall_data` (`itemid`, `content`) values $datacontent_values");

if(false!==$cvsreslut){

msg('导入成功!');

}else{

msg('导入失败!');

}

}

?>

3.配置文件中

include tpl('csvimport');包含模块文件

\admin\template\csvimport.tpl.php

defined('IN_DESTOON') or exit('Access Denied');

include tpl('header');

show_menu($menus);

?>

使用CSV文件批量导入产品
请选择要导入的CSV文件:

4.\include\module.func.php方法

function input_csv($handle) {

setlocale(LC_ALL, 'zh_CN');   //linux下解决中文乱码或不全问题

$out = array ();

$n = 0;

while ($data = fgetcsv($handle, 10000)) {

$num = count($data);

for ($i = 0; $i < $num; $i++) {

$out[$n][$i] = $data[$i];

}

$n++;

}

return $out;

}

function export_csv($filename,$data) {

header("Content-type:text/csv");

header("Content-Disposition:attachment;filename=".$filename);

header('Cache-Control:must-revalidate,post-check=0,pre-check=0');

header('Expires:0');

header('Pragma:public');

echo $data;

}

(责任编辑:最模板)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值