php中数据的批量导入(csv文件)

  • A+
所属分类:PHP编程

有时写程序时后台要求把大量数据导入数据库中,比如计算机考试成绩的查询、电话簿的数据等一般都是存放在excel中的,这时我们可把数据导出成csv文件,然后通过以下程序即可在后台批量导入数据到数据库中。

下面只是主要程序部分:

  1. <?php
  2. //定义获取时间函数 
  3. function getmicrotime(){
  4.     list($usec, $sec) = explode(" ",microtime());
  5.     return ((float)$usec + (float)$sec);
  6. }
  7. ?>
  8. <?php
  9. $time_start = getmicrotime();
  10. include("db.inc.php");//连接数据库
  11. $db=new testcsv;
  12. ?>
  13. <?php
  14. $handle = fopen ("test.csv","r");
  15. $sql="insert into scores(idcard,names,num,sex,nation,score) values('";
  16. while ($data = fgetcsv ($handle, 1000",")) {
  17.    $num = count ($data);
  18.    for ($c=0; $c < $num; $c++) {
  19.        if($c==$num-1){$sql=$sql.$data[$c]."')";break;}
  20.        $sql=$sql.$data[$c]."','";
  21.    }
  22. print "<br>";
  23. echo $sql."<br>";
  24. $db->query($sql);
  25. echo "SQL语句执行成功!<br>";
  26. $sql="insert into scores(idcard,names,num,sex,nation,score) values('";
  27. }
  28. fclose ($handle);
  29. $time_end = getmicrotime();
  30. $time = $time_end - $time_start;
  31. echo "程序执行时间:".$time."秒";
  32. ?>