PHP 将CSV文件导入到Mysql数据库
2016-09-29 18:01
661 查看
一般导入导出文件格式都为 Excel , 最近项目需要 , 涉及到 CSV格式的文件导入 , 直接上代码看一下:
一:简单的设置个form表单按钮:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>导入CSV文件人员信息</title>
</head>
<body>
<form action="<?php echo site_uri('Portal/Home/synchro_yiqi_account')?>" method="post" enctype="multipart/form-data">
<p>请选择要导入的CSV文件:<br/><br/>
<input type="file" name="file">
<input type="submit" class="btn" value="导入CSV">
</form>
</body>
</html>
注意:(1)一定不要忘记
enctype 的部分。
对应的解释:
不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
(2)action 要设置正确
二:PHP操作
操作使用的Pdo类库见:http://download.csdn.net/detail/for_my_own_voice/9643224
至此 , 点击一下按钮 , 成功!
一:简单的设置个form表单按钮:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>导入CSV文件人员信息</title>
</head>
<body>
<form action="<?php echo site_uri('Portal/Home/synchro_yiqi_account')?>" method="post" enctype="multipart/form-data">
<p>请选择要导入的CSV文件:<br/><br/>
<input type="file" name="file">
<input type="submit" class="btn" value="导入CSV">
</form>
</body>
</html>
注意:(1)一定不要忘记
enctype 的部分。
对应的解释:
不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
(2)action 要设置正确
二:PHP操作
function synchro_yiqi_account(){ $filename = $_FILES['file']['tmp_name']; if(empty($filename)){ echo '请选择要导入的CSV文件'; exit(); } $handle = fopen($filename, 'r'); $result = $this->input_csv($handle); $len_result = count($result); if($len_result == 0){ echo '没有任何数据'; exit(); } for ($i=0; $i < $len_result; $i++) { $username = $result[$i][0]; $password = '3ZC1dO0t6XZnXtDO'; $dept_id = 1;//部门 $firstname = $result[$i][1]; $email = $result[$i][2]; $registration_date = date('Y-m-d H:i:s'); $nickname = $result[$i][0]; $data_values .= "('$username','$password','$dept_id','$firstname','$email','$registration_date','$nickname'),"; } $data_values = substr($data_values,0,-1); //去掉最后一个逗号 fclose($handle); $db = new Db_Pdo('DB_HOST', 'DB_PORT', 'DB_NAME', 'DB_USER', 'DB_PWD');//数据库设置 $sql = "INSERT INTO `account` (`username`,`password`,`dept_id`,`firstname`,`email`,`registration_date`,`nickname`) VALUES $data_values"; $query = $db->query($sql); if($query){ echo '导入成功'; }else{ echo '导入失败'; } }
function input_csv($handle){ $out = array (); $n = 0; //注意行的最大长度 while ($data = fgetcsv($handle,10000)){ $num = count($data); for ($i=0; $i < $num; $i++) { $out[$n][$i] = $data[$i]; } $n ++; } return $out; }
操作使用的Pdo类库见:http://download.csdn.net/detail/for_my_own_voice/9643224
至此 , 点击一下按钮 , 成功!
相关文章推荐
- php实现csv文件导入mysql数据库
- php将csv文件导入到mysql数据库的方法
- PHP实现CSV大文件数据导入到MYSQL数据库
- php将csv文件导入到mysql数据库的方法
- 【原】csv文件导入MySQL数据库的实践
- php文件实现将大文件导入到mysql数据库中
- 用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件
- php数据导入导出之excel(csv文件)
- php导入csv文件碰到乱码问题的解决方法
- php中数据的批量导入(csv文件)
- 使用PHP导入和导出CSV文件
- PHP批量导入和导出数据为CSV文件 (自适应版)
- PHP导入和导出CSV文件
- php文件实现将大文件导入到mysql数据库中
- php 导入csv文件
- php导入csv文件以及碰到乱码解决方法
- php中数据的批量导入(csv文件)
- 使用PHP导入和导出CSV文件
- mysql数据库使用SQLyog 导入中文 csv 文件出现乱码 解决
- php 导入excel文件到mysql数据库