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

php array数组生成csv文件

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-10 11:38:24 浏览: 评论:0 

在php中生成csv文件的方法很是简单,这里我来介绍一下自己用到的一个实例,把数组直接转换成csv文件输出,有需要了解的朋友可参考,代码如下:

  1. <?php  
  2. $data = array(  
  3.         array'row_1_col_1''row_1_col_2''row_1_col_3' ),  
  4.         array'row_2_col_1''row_2_col_2''row_2_col_3' ),  
  5.         array'row_3_col_1''row_3_col_2''row_3_col_3' ),  
  6.     );  
  7. $filename = "example";  
  8.    
  9.     header("Content-type: text/csv");  
  10.     header("Content-Disposition: attachment; filename={$filename}.csv");  
  11.     header("Pragma: no-cache");  
  12.     header("Expires: 0");  
  13.    
  14. outputCSV($data);  
  15.    
  16. function outputCSV($data) {  
  17.         $outputBuffer = fopen("php://output"'w');  
  18.         foreach($data as $val) {  
  19.         foreach ($val as $key => $val2) {  
  20.          $val[$key] = iconv('utf-8''gbk'$val2);// CSV的Excel支持GBK编码,一定要转换,否则乱码  
  21.          }  
  22.             fputcsv($outputBuffer$val);  
  23.         }  
  24.         fclose($outputBuffer);  
  25.     }  
  26.    
  27. ?> 

例2,看一个读取csv文件的实例,读取cvs,使用fgetcsv()文件指针中读入一行并解析 CSV 字段,比如说我要读取如下csv文件,代码如下:

  1. <?php 
  2. /** by www.phpfensi.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. fclose($handle); 
  16. ?>

Tags: php array数组 php生成csv

分享到: