总结,php 导入csv文件,并且存入数据库

十一月 07
磊子 2011年 5 条评论

之前在百度博客上面自己总结写了一个简单导入csv文件并存入数据库的方法。我现在把它拿过来,给大家分享。

首先当然是创建简单的index.php,代码 相当简单:

//首先写个简单的form表单
<form enctype="multipart/form-data" method="get" id="form" action="function.php">
<input type="file" name="file" value="" />
<input type="submit" value="submit" name="submit" />
</form>

接下来便是具体方法, 创建function.php文件,代码如下:

$db_host="localhost";//服务器
$db_user="root";    //用户名
$db_psw="123123";    //密码
$db_name="csvimport";//数据库名

 //接入数据库
 $conn = mysql_connect($db_host,$db_user,$db_psw) or die("链接错啦");
 mysql_select_db($db_name,$conn) or die("链接又错啦");
 mysql_query("set names utf-8");

$filepath = $_REQUEST['file']; //获取表单文本框的值 

$file = fopen('upload/'.$filepath,"r"); //只读形式打开文件,如果大家对这些函数不清楚的可以去查下php手册
//通过while循环将文件里面的内容一列一列的存入数据库
$count = 1;
while(!feof($file) && $data = fgetcsv($file))
{
  $result = array();
  if($count>1 && !empty($data))
  {
    for($i=0;$i<3;$i++)
    {
          array_push($result,$data[$i]);
    }
//利用sql语句讲文件内容存入数据库
    $sql = "insert into import (name,email,password) values ('".$result[0]."','".$result[1]."','".$result[2]."')";
    mysql_query($sql);
  }
 $count++;
}
fclose($file); //关闭文件

这样一个简单的文件导入存储就完成了。注:为了便于理解特此说明该代码只适用于本地测试。

» 版权所有©转载必须以链接形式注明作者和原始出处:磊子的博客 » 总结,php 导入csv文件,并且存入数据库
» 地址:( Ctrl+C 复制 )
» 如果对本站感兴趣,请到网站右下方订阅本站,将为你带来更多精彩和实用的文章
» 如果您对这篇文章感兴趣,不妨小小的 捐助(Donate)一下博主吧,不管多少都是对博主最大的支持和鼓励哟,博主-磊子感谢大家的支持!!!

5 条留言 其中:访客:3 条, 博主:2 条

  1. itlong说:

    我有个朋友,拿了你这个码,结果有问题。
    我想知道,你写这个代码的想法。你是想在自己本机测试,还是客户+服务器这样的测试。
    enctype=”multipart/form-data” method=”get”
    这样写,不是传递文件数据,而是传送文件地址,如果服务器和测试机器是同一台机还可以,如果不是呢?你把测试机的地址发送到服务器,服务器得到的是文件地址(不是服务器的)请写明白点,不要误人子弟。

    • 磊子说:

      首先感谢你的留言,或许我没有说明白这段代码是本机测试,如果这段代码可以用在服务器上面我自然会写出相关的说明。而且我也提到只是简单导入csv文件并存入数据库的方法,一个方法而已!还有我知道enctype=”multipart/form-data”是传送文件地址这个不用你告诉我。我不明白的是既然遇到这样的问题,自己要判断这段代码能不能用在服务器上。可以自己修改,可以问人。我只能说很抱歉让你的那位朋友辛苦了。

  2. 这个沙发我没占上,哎…

  3. 胡哥说:

    沙发 冯哥 你这么早就起床哦 :lol: 把你这个留言表情给换了嘛,难看了,哈哈

说点什么吧




订阅本站