当前位置:首页 > PHP教程 > php应用 > 列表

php 中fgetcsv函数将csv文件导入mysql数据库

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-07 15:20:20 浏览: 评论:0 

在处理大批量excel数据到mysql数据库时,用php自带的fgetcsv函数先从csv文件中逐行获取数据,再配合sql语句导入数据库,如果遇到了乱码问题,可以使用iconv函数进行转码,代码示例如下:

  1. <?php 
  2. $row = 1; 
  3. $handle = fopen("test.csv","r"); 
  4. while ($data = fgetcsv($handle, 1000, ",")) {//1000为csv文件总行数,逗号是数据分隔符,这两个参数均可以忽略不写 
  5. $num = count($data); 
  6. echo "<p> 第 $row行有$num个字段。 <br>n"
  7. $row++; 
  8. for ($c=0; $c < $num$c++) { 
  9. echo $data[$c] . "<br>n"
  10. fclose($handle); 
  11. ?> 

导入mysql时中文乱码

用网上通用的方法读取并上传csv文件内容进入mysql数据库中时,中文显示乱码,即使对数据用iconv函数转码后仍然乱码,这时可以用setlocale()函数,这个函数经查阅是配置地域信息用的,在读取和写入csv数据前先用此函数进行定义,比如我的csv文件是无BOM的UTF-8格式,就先用如下函数进行定义:

setlocale(LC_ALL, 'zh_CN.UTF8′);然后再用iconv函数对数据内容进行转码入库等后续操作。

Tags: fgetcsv 函数 文件

分享到: