本文实例讲述了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程序设计有所帮助。