• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现批量上传数据到数据库的方法

php 搞代码 3年前 (2022-01-22) 15次浏览 已收录 0个评论

下面小编就为大家带来一篇php实现批量上传数据到数据库(.csv格式)的案例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

友情提示:上传数据的文档需要转化为.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文件(这里只粘贴主要代码,具体实现方法需自己完成)

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;           }         }       }       //循环转换数据格式       foreach ($line_list as $i=> $v)       {         foreach ($v as $j=> $value)         {           $line_list[$i][$j] = iconv('GBK', 'UTF-8//IGNORE',$line_list[$i][$j]);         }       }//编码转换              fclose($handle);        if(!empty($line_list))       {         // 登记号         $sn = array();         $top_catid = 0;         $name = '';         $func_name = '';         switch ($import_type) {           case 'patent';           $top_catid = 5;           $name = '专利申请号';           $func_name = 'deal_import_patent';           break;           case 'trademark';           $top_catid = 4;           $name = '商标注册号';           $func_name = 'deal_import_trademark';           break;           case 'copyright';           $top_catid = 2185;           $name = '登记号';           $func_name = 'deal_import_copyright';           break;           default:             die('上传文档未明确指定知产类型!');           break;         }         if ($import_type == 'patent') {           foreach($line_list as $lkey => $lval) {             $lval[2] = trim($lval[2]);             if ($lval[2] == '专利技术') {               // 技术专利               if(!empty($lval[1])) {                 if(in_array($lval[1],$sn))                 {                   die('列表中序号为'.$lval[0].'的知产的'.$name.$lval[1].'与前面的出现重复!');//判断是否有重复的数据(根据自己所需判断)                 }                 $sn[] = trim($lval[1]);               } else {                 die('列表中序号为'.$lval[0].'的知产的'.$name.'为空!');               }             } else {               // 非技术专利               $line_list[$lkey][1] = '';             }           }         } elseif ($import_type == 'trademark') {           foreach($line_list as $lkey => $lval)<b>6本文来源gao@dai!ma.com搞$代^码!网7</b><pre>搞gaodaima代码

{ if(!empty($lval[1])) { if(in_array($lval[1],$sn)) { die('列表中序号为'.$lval[0].'的知产的'.$name.'与前面的出现重复!'); } $sn[] = $lval[1]; } else { die('列表中序号为'.$lval[0].'的知产的'.$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).'的知产已存在');//数据库中是否有相同的数据(根据自己所需判断) } // 调用处理函数 self::$func_name($line_list);//此时$line_list即为你上传文档的数据,数组格式,根据自己所需将数据导入数据库 die('批量导入完成!'); } }


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现批量上传数据到数据库的方法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址