php中數據的批量導入(csv文件)
有時寫程序時后臺要求把大量數據導入數據庫中,比如計算機考試成績的查詢、電話簿的數據等一般都是存放在excel中的,這時我們可把數據導出成csv文件,然后通過以下程序即可在后臺批量導入數據到數據庫中。
下面只是主要程序部分:
<?php /***************************************************作者:沖星/arcow**************************[email protected]*****************************php導入csv文件到數據庫********************同時計算程序執行時間*********************www.mypchelp.cn***************************************************///定義獲取時間函數 function getmicrotime(){ list($usec, $sec) = explode(' ',microtime()); return ((float)$usec + (float)$sec); }?>
<?php$time_start = getmicrotime();include('db.inc.php');//連接數據庫$db=new testcsv;?><?php$handle = fopen ('test.csv','r');$sql='insert into scores(idcard,names,num,sex,nation,score) values('';while ($data = fgetcsv ($handle, 1000, ',')) { $num = count ($data); for ($c=0; $c < $num; $c++) { if($c==$num-1){$sql=$sql.$data[$c].'')';break;} $sql=$sql.$data[$c].'',''; }print '<br>';echo $sql.'<br>';$db->query($sql);echo 'SQL語句執行成功!<br>';$sql='insert into scores(idcard,names,num,sex,nation,score) values('';}fclose ($handle);$time_end = getmicrotime();$time = $time_end - $time_start;echo '程序執行時間:'.$time.'秒';?>
