CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。PHP也提供了cvs操作的函数。

1.生成CVS,fputcsv()将行格式化为 CSV 并写入文件指针


 
  
  1. <?php

  2. /** by www.phpddt.com*/

  3. $list = array (

  4. 'aaa,bbb,ccc,dddd',

  5. '11,22,33',

  6. '"php","java"'

  7. );

  8. $fp = fopen('file.csv','w');

  9. foreach($list as $line){

  10.    fputcsv($fp, explode(',', $line));

  11. }

  12. fclose($fp);

  13. ?>


结果:

php fputcsv()将行格式化为 CSV 并写入文件指针

当然,你可以生成csv文件强制下载

2.读取cvs,使用fgetcsv()文件指针中读入一行并解析 CSV 字段

比如说我要读取如下csv文件:

php fgetcsv()文件指针中读入一行并解析 CSV 字段


 
  
  1. <?php

  2. /** by www.phpddt.com*/

  3. $row =1;

  4. $handle = fopen("file.csv","r");

  5. //fgetcsv() 解析读入的行并找出 CSV格式的字段然后返回一个包含这些字段的数组。

  6. while($data = fgetcsv($handle,1000,",")){

  7.    $num = count($data);

  8.    echo "<p> $num fields in line $row: <br>\n";

  9.    $row++;

  10. for($c=0; $c < $num; $c++){

  11. //注意中文乱码问题

  12. $data[$c]=iconv("gbk","utf-8//IGNORE",$data[$c]);

  13.        echo $data[$c]."<br>\n";

  14. }

  15. }

  16. fclose($handle);

  17. ?>


上面的例子也是我使用手册例子改进的,需要注意的是:中文编码问题。

扩展阅读:我之前写的关于使用PHP操作excel文件:


  1. 用PHPExcel读取excel并导入数据库

  2. 用Simple Excel导出xls

  3. php-excel-reader读取excel内容存入数据库

  4. 使用php-excel-reader读取excel文件