本文实例讲述了PHP编程实现csv文件导入mysql数据库的方法。分享给大家供大家参考,具体如下:
config.db.php内容如下;
<?php $username="root"; $userpass="123"; $dbhost="localhost"; $dbdatabase="credits2stakes"; //生成一个连接 $db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!"); //选择一个需要操作的数据库 mysql_select_db($dbdatabase,$db_connect);
index.php内容如下:
<meta http-equiv="Content-Type"content="text/html; charset=utf-8" /> <form name="frm1" enctype="multipart/form-data" action="insertdb.php" method="post"> <input name="filename" type="file" /><input name="submit" type="submit" value="import" /> </form>
insertdb.php内容如下:
<?php session_start(); header("Content-type:text/html;charset:utf-8"); //全局变量 $file=$_FILES['filename']; $max_size="2000000"; //最大文件限制(单位:byte) $fname=$file['name']; $ftype=strtolower(substr(strrchr($fname,'.'),1)); //文件格式 $uploadfile=$file['tmp_name']; if($_SERVER['REQUEST_METHOD']=='POST'){ if(is_uploaded_file($uploadfile)){ if($file['size']>$max_size){ echo "Import file is too large"; exit; } if($ftype!='csv'){ echo "Import file type is error"; exit; } }else{ echo "The file is not empty!"; exit; } } require("./config.db.php"); //连接mysql数据库 $row=0; $filename=$file['tmp_name']; $handle=fopen($filename,'r'); while(!feof($handle) && $data=fgetcsv($handle,1000,',')){ $arr_result=array(); if($row==0){ $row++; continue; } if($row>0 && !empty($data)){ $num=count($data); for($i=0;$i<$num;$i++){ array_push($arr_result,$data[$i]); } //$name = iconv('gb2312','utf-8',$arr_result[1]); //$sex = iconv('gb2312','utf-8',$arr_result[2]); $sql="insert into inviter(inviter,invitees,time) value($arr_result[1],$arr_result[2],$arr_result[3])"; //echo $sql; mysql_query("set names utf8"); $result=mysql_query($sql); if($result){ echo "插入成功!!!"; }else{ echo "插入失败!!!"; } } $row++; } fclose($handle); ?>
希望本文所述对大家PHP程序设计有所帮助。