本文实例讲述了PHP编程实现csv文件导入mysql数据库的方法。分享给大家供大家参考,具体如下:
config.db.php内容如下;
1
2
3
4
5
6
7
8
9
|
<?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内容如下:
1
2
3
4
|
< 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内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<?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程序设计有所帮助。