最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php實現(xiàn)批量上傳數(shù)據(jù)到數(shù)據(jù)庫(.csv格式)的案例

 更新時間:2017年06月18日 11:02:52   投稿:jingxian  
下面小編就為大家?guī)硪黄猵hp實現(xiàn)批量上傳數(shù)據(jù)到數(shù)據(jù)庫(.csv格式)的案例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

友情提示:上傳數(shù)據(jù)的文檔需要轉(zhuǎn)化為.csv格式的文檔

前端代碼:

<form name="importForm" action="import.php" method="POST" enctype="multipart/form-data"> 
<input type="hidden" value="import_goods" name="file"> 
  <table cellpadding="2" cellspacing="1" class="tb"> 
    <tbody> 
    <tr> 
      <td width="200">選擇批量上傳文檔:</td> 
      <td><input type="file" name="upfilename" id="upfilename" value=""></td> 
    </tr> 
    <tr> 
      <td colspan="2"> 
        <input type="submit" name="submit" value="提交" class="btn"> 
      </td> 
    </tr> 
    </tbody> 
  </table> 
</form> 

后端代碼:import.php文件(這里只粘貼主要代碼,具體實現(xiàn)方法需自己完成)

if(isset($_POST['submit'])){ 
      stripos(PHP_OS, "WIN") !== false ? setlocale(LC_ALL, '') : setlocale(LC_ALL,'zh_CN.GBK'); 
       
      $fext = substr($_FILES['upfilename']['name'], strrpos($_FILES['upfilename']['name'], '.') + 1); 
      if ($fext != 'csv') { 
        die('請上傳csv格式的文件',HTTP_REFERER); 
      } 
      $handle = @fopen($_FILES['upfilename']['tmp_name'], "rb"); 
   
      $i = 0; 
      $import_type = ''; 
      if ($handle) 
      { 
        while($line_data = fgetcsv($handle, 4096, ',')) 
        { 
          if ($i == 0) { 
            $import_type = trim($line_data[0]); 
            $i = 1; 
          } elseif (intval($line_data[0])) { 
            $line_list[] = $line_data; 
          } 
        } 
      } 
      //循環(huán)轉(zhuǎn)換數(shù)據(jù)格式 
      foreach ($line_list as $i=> $v) 
      { 
        foreach ($v as $j=> $value) 
        { 
          $line_list[$i][$j] = iconv('GBK', 'UTF-8//IGNORE',$line_list[$i][$j]); 
        } 
      }//編碼轉(zhuǎn)換 
       
      fclose($handle); 
 
      if(!empty($line_list)) 
      { 
        // 登記號 
        $sn = array(); 
        $top_catid = 0; 
        $name = ''; 
        $func_name = ''; 
        switch ($import_type) { 
          case 'patent'; 
          $top_catid = 5; 
          $name = '專利申請?zhí)?; 
          $func_name = 'deal_import_patent'; 
          break; 
          case 'trademark'; 
          $top_catid = 4; 
          $name = '商標(biāo)注冊號'; 
          $func_name = 'deal_import_trademark'; 
          break; 
          case 'copyright'; 
          $top_catid = 2185; 
          $name = '登記號'; 
          $func_name = 'deal_import_copyright'; 
          break; 
          default: 
            die('上傳文檔未明確指定知產(chǎn)類型!'); 
          break; 
        } 
        if ($import_type == 'patent') { 
          foreach($line_list as $lkey => $lval) { 
            $lval[2] = trim($lval[2]); 
            if ($lval[2] == '專利技術(shù)') { 
              // 技術(shù)專利 
              if(!empty($lval[1])) { 
                if(in_array($lval[1],$sn)) 
                { 
                  die('列表中序號為'.$lval[0].'的知產(chǎn)的'.$name.$lval[1].'與前面的出現(xiàn)重復(fù)!');//判斷是否有重復(fù)的數(shù)據(jù)(根據(jù)自己所需判斷) 
                } 
                $sn[] = trim($lval[1]); 
              } else { 
                die('列表中序號為'.$lval[0].'的知產(chǎn)的'.$name.'為空!'); 
              } 
            } else { 
              // 非技術(shù)專利 
              $line_list[$lkey][1] = ''; 
            } 
          } 
        } elseif ($import_type == 'trademark') { 
          foreach($line_list as $lkey => $lval) { 
            if(!empty($lval[1])) { 
              if(in_array($lval[1],$sn)) 
              { 
                die('列表中序號為'.$lval[0].'的知產(chǎn)的'.$name.'與前面的出現(xiàn)重復(fù)!'); 
              } 
              $sn[] = $lval[1]; 
            } else { 
              die('列表中序號為'.$lval[0].'的知產(chǎn)的'.$name.'為空!'); 
            } 
          } 
        } 
        if (!empty($sn)) { 
          $sql = 'SELECT serial_number FROM ' .$table_name. ' WHERE top_catid = '.$top_catid.' AND serial_number IN (\'' .implode("','", $sn). '\')'; 
          $result = $goods_db->query($sql); 
          $r = $goods_db->fetch_array(); 
          $exist = array(); 
          foreach ($r as $k=>$v){ 
            $exist[] = $v['serial_number']; 
          } 
           
          if (!empty($exist)) die($name.'為:'.implode(',',$exist).'的知產(chǎn)已存在');//數(shù)據(jù)庫中是否有相同的數(shù)據(jù)(根據(jù)自己所需判斷) 
        }     
        // 調(diào)用處理函數(shù) 
        self::$func_name($line_list);//此時$line_list即為你上傳文檔的數(shù)據(jù),數(shù)組格式,根據(jù)自己所需將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫 
        die('批量導(dǎo)入完成!'); 
      } 
       
    } 

.csv文檔的格式為:

以上這篇php實現(xiàn)批量上傳數(shù)據(jù)到數(shù)據(jù)庫(.csv格式)的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • PHP定義字符串的四種方式詳解

    PHP定義字符串的四種方式詳解

    這篇文章主要介紹了PHP定義字符串的四種方式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • Windows IIS PHP 5.2 安裝與配置方法

    Windows IIS PHP 5.2 安裝與配置方法

    Windows下PHP的安裝雖然簡單,但如果不注意方法,仍然會讓你頭疼。此外,PHP 5.2版本與之前4.x版本也有一些不同,所以有必要記錄一下,避免下次忘記了這樣的安裝配置方法。
    2009-06-06
  • php上傳文件問題匯總

    php上傳文件問題匯總

    這篇文章主要給大家匯總介紹了一些php上傳文件問題,需要的朋友可以參考下
    2015-01-01
  • laravel Task Scheduling(任務(wù)調(diào)度)在windows下的使用詳解

    laravel Task Scheduling(任務(wù)調(diào)度)在windows下的使用詳解

    今天小編就為大家分享一篇laravel Task Scheduling(任務(wù)調(diào)度)在windows下的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • PHP生成HTML靜態(tài)頁面實例代碼

    PHP生成HTML靜態(tài)頁面實例代碼

    本程序作用是從PHP生成HTML靜態(tài)頁面并存儲到以年份和月份為名稱創(chuàng)建的目錄。讀取全部數(shù)據(jù)批量生成,全部生成后彈出提示。可指定批次生成數(shù)量,建議不超過800,否則執(zhí)行速度會有問題。
    2008-08-08
  • PHP調(diào)用wsdl文件類型的接口代碼分享

    PHP調(diào)用wsdl文件類型的接口代碼分享

    本文給大家分享了一個PHP調(diào)用wsdl文件類型的接口代碼,非常的簡單也很實用,有相關(guān)需求的小伙伴們可以直接拿去用的。
    2014-11-11
  • PHP生成唯一訂單號的方法匯總

    PHP生成唯一訂單號的方法匯總

    前陣子有個電子商務(wù)項目,需要生成訂單號。當(dāng)時的考慮很簡單,取系統(tǒng)時間加上隨機數(shù),或者使用 uniqid() 方法。仔細(xì)考慮下上述方法,在顧客購買量少的情況下,訂單重復(fù)的可能性為零,但是在購買高蜂期生成的訂單號重復(fù)是很有可能發(fā)生的。
    2015-04-04
  • PHP執(zhí)行l(wèi)inux命令常用函數(shù)匯總

    PHP執(zhí)行l(wèi)inux命令常用函數(shù)匯總

    一般情況下,很少會用php去執(zhí)行l(wèi)inux命令,不過特殊情況下,你也許會用到這些函數(shù)。以前我知道有二個函數(shù)可以執(zhí)行l(wèi)inux命令,一個是exec,一個是shell_exec,通過本文給大家介紹PHP執(zhí)行l(wèi)inux命令常用函數(shù)匯總,需要的朋友參考下
    2016-02-02
  • 在CentOS系統(tǒng)上從零開始搭建WordPress博客的全流程記錄

    在CentOS系統(tǒng)上從零開始搭建WordPress博客的全流程記錄

    這篇文章主要介紹了在CentOS系統(tǒng)中從零開始搭建WordPress站點的全流程記錄,使用最大眾的Apache服務(wù)器和MySQL數(shù)據(jù)庫環(huán)境,需要的朋友可以參考下
    2016-04-04
  • CentOS7編譯安裝php7.1的教程詳解

    CentOS7編譯安裝php7.1的教程詳解

    這篇文章主要介紹了CentOS7編譯安裝php7.1的教程詳解,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-04-04

最新評論

浪卡子县| 宁海县| 甘洛县| 龙山县| 延寿县| 邢台市| 东源县| 屯门区| 三江| 十堰市| 永德县| 张家川| 宁波市| 旌德县| 东乡族自治县| 茌平县| 金平| 曲麻莱县| 阳曲县| 临清市| 桃源县| 阳东县| 株洲县| 凯里市| 习水县| 泌阳县| 徐水县| 香河县| 雅安市| 青岛市| 新和县| 通城县| 休宁县| 拉萨市| 华宁县| 株洲市| 中宁县| 海阳市| 安塞县| 新巴尔虎左旗| 濮阳市|