PHP
·
发表于 5年以前
·
阅读量:8308
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。