Heim  >  Artikel  >  php教程  >  php中数据的批量导入csv文件代码

php中数据的批量导入csv文件代码

WBOY
WBOYOriginal
2016-05-25 16:37:47918Durchsuche

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

下面只是主要程序部分,代码如下:

<?php  
	/***************************************** 
	**********作者:冲星/arcow**************** 
	**********njj@nuc.edu.cn******************* 
	**********php导入csv文件到数据库********** 
	**********同时计算程序执行时间*********** 
	**********www.phprm.com*********** 
	****************************************/ 
	//定义获取时间函数  
	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(&#39;"; 
	while ($data = fgetcsv ($handle, 1000, ",")) { 
	   $num = count ($data); 
	   for ($c=0; $c < $num; $c++) { 
	       if($c==$num-1){$sql=$sql.$data[$c]."&#39;)";break;} 
	       $sql=$sql.$data[$c]."&#39;,&#39;"; 
	   } 
	print "<br>"; 
	echo $sql."<br>"; 
	$db->query($sql); 
	echo "SQL语句执行成功!<br>"; 
	$sql="insert into scores(idcard,names,num,sex,nation,score) values(&#39;";//开源代码phprm.com 
	} 
	fclose ($handle); 
	$time_end = getmicrotime(); 
	$time = $time_end - $time_start; 
	echo "程序执行时间:".$time."秒"; 
	

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn