PHP实现客户端将CSV文件导入服务器数据库中

原创 2007年09月21日 12:48:00

//将文件另存为php文件,在服务器上运行,已测试通过。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 <title>Import CSV file to server</title>
</head> 
<body>   
    <form id="form1" name="form1" enctype="multipart/form-data" method="post" action="importcsv.php">
  <input type="file" name="upfile" size="20" />
  <input type="submit" name="Submit" value="Import" />[*.CSV]
 </form>
</body>
</html>
<?php
//*****************************************************************
//function:      import local CSV file to one table of database in server
//solve way:    copy local CSV file to server ,get the data from CSV file
//                   line by line ,then insert them into the table of database,
//                   at last,delete the file in server.
//author:       enjoyxp 2007-09-20
//******************************************************************

if($_POST['Submit']=='Import'){
    $type='application/vnd.ms-excel';        //set valid file type
 $file=$_FILES['upfile'];                 //get file
 copy($file['tmp_name'],$file['name']);      //copy local file to server
 $filename=$_FILES['upfile']['name']; 
 $handle = fopen("$filename","r");           //open file
 if($_FILES['upfile']['type']!=$type){
     echo "<script>alert('Error:file type doesn't match!');</script>";
  fclose($handle);                        //close file
  unlink($filename);                      //delete file
     exit;
    }
 $i=0;
 while ($data = fgetcsv($handle,1000,",")){ //read file line by line,each line explode by ','
  $i++;
     $num = count($data);                   //how many lines the file has
     $flag = false;
  for($n=0; $n < $num; $n++){      //judge each line whether is null
     if($data[$n] !=''){
    $flag = true;                     //if $null equal true,then  exist data
    break 1;                          //jump out of the first circle
     }
  }
  if($flag==true){
   if($i!='1'){                       //exclude the first line (title)
       $access_id = "root";
             $db_name   = "inv";
                @ $db = mysql_connect('localhost', $access_id, '831025') or
           die("Could not connect to database.");
          mysql_query("SET NAMES 'GBK'"); //display Chinese
             mysql_select_db($db_name);
    //insert into table test,get data with array data[] from CSV file
    $sql = "insert into test values ('".$data[0]."','".$data[1]."')";
    $result = mysql_query($sql);
   }
     } 
 }
 echo "<script>alert('Import succeed!');</script>";
 fclose($handle);               
 unlink($filename);             
}
?> 

ThinkPHP、php项目csv格式导入,需要的可以略作调整

在创建的ThinkPHP项目中数据导入时,如果数据量比较大,我们就不考虑使用phphexcel导入数据了,因为占内存资源较大,运行速度也慢,这时,csv的导入方式就比较合适。因为采用csv格式导入时,...
  • a1170201028
  • a1170201028
  • 2016年01月15日 08:42
  • 1799

php 将csv文件内容导入数据库时值为空的解决

背景:和第三方服务商协调检测数据的时候,从他们后台导出了存放数据的csv文件。于是,需要将该文件内的数据导入到自己的mysql库中,写了一段代码如下:// 将csv文件数据插入到mysql数据库中 i...
  • cdy102688
  • cdy102688
  • 2014年04月03日 09:47
  • 1100

将csv数据文件导入到sqlite数据库中

使用SQLite官方工具 sqlite shell即可。 进入sqlite shell后,使用命令:  .import。注意import前面有个点。 操纵如下: sqlite>...
  • zhangkongzhongyun
  • zhangkongzhongyun
  • 2013年06月27日 15:19
  • 3931

通过java导入csv文件到oracle(mysql)数据库

如何将通过java代码将csv文件导入oracle(mysql)数据库,本程序可导入,可合并。...
  • John_laishaobin
  • John_laishaobin
  • 2015年05月23日 10:45
  • 3378

利用java语言将csv格式数据导入mysql数据库

利用java语言将csv格式数据导入mysql数据库 1.     首先要下载Connector/J,及将该驱动包加载到project中,见http://www.cnblogs.com/taoweij...
  • u010442302
  • u010442302
  • 2016年01月16日 22:30
  • 2145

sql 向数据库中导入csv,xls文件

如何向数据库中导入csv或xls格式文件数据
  • u010773333
  • u010773333
  • 2015年01月26日 13:41
  • 1282

PHP程序,将csv转成sql文件并导入数据库

PHP程序,将csv转成sql文件并导入数据库代码的由来最近接手一个老项目,经过了多名程序员开发,因为公司不大,之前的交接做的也不好,很多业务逻辑都没有书面描述,一些需要功能还需要程序员手工处理,所以...
  • u012228558
  • u012228558
  • 2016年04月02日 19:39
  • 1315

PHP读取CSV大文件导入数据库

PHP如何对CSV大文件进行读取并导入数据库? 对于数百万条数据量的CSV文件,文件大小可能达到数百M,如果简单读取的话很可能出现超时或者卡死的现象。 为了成功将CSV文件里的数据导入数据库,分批...
  • zhaoxuejie
  • zhaoxuejie
  • 2015年11月09日 16:07
  • 2509

如何把 .csv 的文件导入数据库SQL SERVER 中!

使用SQL Server 自带的数据导入向导,右击击要导入的数据库,任务→导入数据启动向导, 数据源选择“平面文件源”,然后浏览打开要导入的csv文件, 进行必要的设置:标题行分隔符(默认回车换行,不...
  • my773962804
  • my773962804
  • 2016年07月14日 17:41
  • 375

C# CSV文件导入数据库

做CSV导入数据库,一般是采用逐行读取,数据连接读取,再有这个通过引用Microsoft.VisualBasic.FileIO.TextFieldParser 其它方法我没试过,有朋友可以提示一...
  • yishuaijun
  • yishuaijun
  • 2014年03月16日 21:50
  • 2044
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP实现客户端将CSV文件导入服务器数据库中
举报原因:
原因补充:

(最多只允许输入30个字)