关于批量上传的修改
正在调试网店的批量上传功能,原批量上传功能是CSV文件格式的导入,在使用过程发现很多问题,如导入字段不全等。不知道大家有没有遇到过。现将原CSV改为Excel XLS文件格式导入。具体修改如下:
1、加入lib_excel.php类库文件
将lib_excel.php拷贝入[商店根目录]/admin/includes 目录下
2、修改 [商店根目录]/admin/goods_batch.php 文件
行号 20 require('includes/init.php');
加入require('includes/lib_excel.php');
以下是原代码
行号 79-166[code] /* 将文件按行读入数组,逐行进行解析 */
$line_number = 0;
$goods_list = array();
$field_list = array_keys($_LANG['upload_goods']); // 字段列表
$data = file($_FILES['file']['tmp_name']);
foreach ($data AS $line)
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
}
// 转换编码
if ($_POST['charset'] != 'UTF8')
{
$line = $iconv->convert($_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)
{
$field_name = $field_list[count($arr)];
$arr[$field_name] = trim($buff);
$buff = '';
$quote = 0;
}
else
{
$buff .= $char;
}
}
else
{
$buff .= $char;
}
if ($i == $len - 1)
{
$field_name = $field_list[count($arr)];
$arr[$field_name] = trim($buff);
}
}
$goods_list[] = $arr;
}[/code]更改为[code] /* 将Excel文件数据导入数据库 */
$line_number = 0;
$goods_list = array();
$field_list = array_keys($_LANG['upload_goods']); // 字段表
Read_Excel_File($_FILES['file']['tmp_name'],$data); // 将文件数据读入数组
foreach ($data[goods_list] AS $line) // $data[goods_list] goods_list 为Excel工作表名
{
// 跳过第一行
if ($line_number == 0)
{
$line_number++;
continue;
}
// 转换编码
if ($_POST['charset'] != 'UTF8')
{
foreach ($line AS $value)
{
$value = $iconv->convert($_POST['charset'], 'UTF8', $value);
}
}
// 初始化
$arr = array();
foreach ($line AS $field)
{
$field_name = $field_list[count($arr)];
$arr[$field_name] = trim($field);
}
$goods_list[] = $arr;
}[/code][size=4][color=red]注意:导入的Excel文件格式字段必须和官方的字段顺序和格式一样![/color][/size]
[size=4][color=red]其中Excel的工作表名为:goods_list[/color][/size]
[size=4][color=#ff0000][/color][/size]
[[i] 本帖最后由 xushuyi 于 2007-10-12 13:28 编辑 [/i]] 正好操作到这部分,虽然还没看太明白,但是慢慢研究!!!谢谢!! 2、修改 [商店根目录]/admin/goods_batch.php 文件
行号 20 require('includes/init.php');
加入require('includes/lib_excel.php');
请问这个代码require('includes/lib_excel.php');是替代 require('includes/init.php');这个?还是直接加在这个后面,怎么我的总是出现错误!!!急!!! 是在后面“加入” :D 楼主果然厉害 图片怎么直接批量导入阿 请问楼主或其他朋友可以帮忙上传一份附件吗,现在附件下载不了了~
多谢了!:$ ECSHOPv2.1.5-批量上传补丁.rar (15.43 KB) 與 goods_batch.rar (11.46 KB) 有一樣嗎??:L :L Excel XLS文件格式导入,上传了补订,怎么还是报错啊!以前试的时候就可以,现在用以前的文件传上去也不行,麻烦帮忙看看吧! [img]http://www.yuelou.com/888.jpg[/img] 我在2.5下修改后发现经处理后的数据为负数,lib_excel.php不适合了,目前只能在本机环境下测试通过。
2.5修改后的新补丁已经有朋友测试通过了。
[[i] 本帖最后由 xushuyi 于 2007-12-7 10:56 编辑 [/i]] 感谢 顶了 喜欢 DEDE 那样的上传方式 转载很方便
菜菜求助
什么是根目录什么是上传到空间
用什么上传!!!??? 刚装完2.15的程序,批量上传有出错,如下:
Warning: opendir(../languages): failed to open dir: Permission denied in /usr/vhome/g/a/m/gamedoll.cn/www/admin/goods_batch.php on line 37
能指点下吗 ?? 终于找到,今天晚上一定要研究通。。。:lol :lol 让我好找啊!!!! 用工具上传 如何在商品相册里多传几张相片?
批量上传后,只有一张图片,而单传,在商品相册里可以传多几张相片?
如何做到批量上传的时候,商品相册里多传几张图片?
页:
[1]
