国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Ecshop > 正文

ecshop關(guān)于批量上傳的修改

2024-07-09 22:56:18
字體:
供稿:網(wǎng)友
正在調(diào)試網(wǎng)店的批量上傳功能,原批量上傳功能是CSV文件格式的導入,在使用過程發(fā)現(xiàn)很多問題,如導入字段不全等。不知道大家有沒有遇到過。現(xiàn)將原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
  1.     /* 將文件按行讀入數(shù)組,逐行進行解析 */
  2.     $line_number = 0;
  3.     $goods_list = array();
  4.     $field_list = array_keys($_LANG['upload_goods']); // 字段列表
  5.     $data = file($_FILES['file']['tmp_name']);
  6.     foreach ($data AS $line)
  7.     {
  8.         // 跳過第一行
  9.         if ($line_number == 0)
  10.         {
  11.             $line_number++;
  12.             continue;
  13.         }
  14.         // 轉(zhuǎn)換編碼
  15.         if ($_POST['charset'] != 'UTF8')
  16.         {
  17.             $line = $iconv->convert($_POST['charset'], 'UTF8', $line);
  18.         }
  19.  
  20.         // 初始化
  21.         $arr    = array();
  22.         $buff   = '';
  23.         $quote  = 0;
  24.         $len    = strlen($line);
  25.         for ($i = 0; $i < $len; $i++)
  26.         {
  27.             $char = $line[$i];
  28.             if ('//' == $char)
  29.             {
  30.                 $i++;
  31.                 $char = $line[$i];
  32.                 switch ($char)
  33.                 {
  34.                     case '"':
  35.                         $buff .= '"';
  36.                         break;
  37.                     case '/'':
  38.                         $buff .= '/'';
  39.                         break;
  40.                     case ',';
  41.                         $buff .= ',';
  42.                         break;
  43.                     default:
  44.                         $buff .= '//' . $char;
  45.                         break;
  46.                 }
  47.             }
  48.             elseif ('"' == $char)
  49.             {
  50.                 if (0 == $quote)
  51.                 {
  52.                     $quote++;
  53.                 }
  54.                 else
  55.                 {
  56.                     $quote = 0;
  57.                 }
  58.             }
  59.             elseif (',' == $char)
  60.             {
  61.                 if (0 == $quote)
  62.                 {
  63.                     $field_name = $field_list[count($arr)];
  64.                     $arr[$field_name] = trim($buff);
  65.                     $buff = '';
  66.                     $quote = 0;
  67.                 }
  68.                 else
  69.                 {
  70.                     $buff .= $char;
  71.                 }
  72.             }
  73.             else
  74.             {
  75.                 $buff .= $char;
  76.             }
  77.             if ($i == $len - 1)
  78.             {
  79.                 $field_name = $field_list[count($arr)];
  80.                 $arr[$field_name] = trim($buff);
  81.             }
  82.         }
  83.         $goods_list[] = $arr;
  84.     }
 
更改為
  1.     /* 將Excel文件數(shù)據(jù)導入數(shù)據(jù)庫 */
  2.   $line_number = 0;
  3.   $goods_list = array();
  4.   $field_list = array_keys($_LANG['upload_goods']); // 字段表
  5.   Read_Excel_File($_FILES['file']['tmp_name'],$data); // 將文件數(shù)據(jù)讀入數(shù)組
  6.   foreach ($data[goods_list] AS $line) // $data[goods_list]  goods_list 為Excel工作表名
  7.   {
  8.       // 跳過第一行
  9.     if ($line_number == 0)
  10.         {
  11.             $line_number++;
  12.             continue;
  13.         }
  14.     
  15.     // 轉(zhuǎn)換編碼
  16.     if ($_POST['charset'] != 'UTF8')
  17.         {
  18.        foreach ($line AS $value)
  19.       {
  20.         $value = $iconv->convert($_POST['charset'], 'UTF8', $value);
  21.       }
  22.         }
  23.     
  24.     // 初始化
  25.     $arr = array();
  26.     foreach ($line AS $field)
  27.     {
  28.       $field_name = $field_list[count($arr)];
  29.      $arr[$field_name] = trim($field);
  30.     }
  31.     $goods_list[] = $arr;
  32.   }
 

注意:導入的Excel文件格式字段必須和官方的字段順序和格式一樣!
其中Excel的工作表名為:goods_list

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 会同县| 巢湖市| 城口县| 荔浦县| 鹰潭市| 徐闻县| 马尔康县| 寻甸| 吴堡县| 秭归县| 邢台县| 聂拉木县| 东源县| 东阳市| 墨玉县| 独山县| 工布江达县| 江永县| 万源市| 伊吾县| 浪卡子县| 崇礼县| 安泽县| 栾城县| 汪清县| 乌鲁木齐市| 昌都县| 丰顺县| 化德县| 新源县| 汶川县| 穆棱市| 自贡市| 和硕县| 泸溪县| 张家界市| 建平县| 普陀区| 台中县| 太谷县| 稻城县|