网站地图    收藏   

主页 > php专栏 > php应用 >

PHP实现数据导入、CSV文件下载的例子 - php高级应

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 下面我来给各位同学简单的分享两个利用php操作csv格式文件的例子,一个是对csv输出下载,另一个是利用php的fgetcsv函数、fputcsv函数进行读写操作 导入、导出CSV文件,代码如下:classcsv{privat...

PHP实现数据导入、CSV文件下载的例子

下面我来给各位同学简单的分享两个利用php操作csv格式文件的例子,一个是对csv输出下载,另一个是利用php的fgetcsv函数、fputcsv函数进行读写操作.

导入、导出CSV文件,代码如下:

  1. class csv 
  2.  private $resource
  3.  
  4.  /** 
  5.   * @param string $fileName 文件路径 
  6.   * @param string $mode     文件访问类型:w:写入、r:只读 
  7.   */ 
  8.  public function __construct($fileName$mode
  9.  { 
  10.   $this->resource = fopen($fileName$mode); 
  11.  } 
  12.  
  13.  public function __destruct() 
  14.  { 
  15.   fclose($this->resource); 
  16.  } 
  17.  
  18.  /** 
  19.   * 导入CSV 
  20.    * @param array $data 
  21.   * @return int 
  22.   */ 
  23.  public function export($data
  24.  { 
  25.   fputcsv($this->resource, $data); 
  26.  } 
  27.  
  28.  /** 
  29.   * 导出CSV 
  30.   * @return array 
  31.   */ 
  32.  public function import() 
  33.  { 
  34.   $tmp = array(); 
  35.   while($data = fgetcsv($this->resource)) 
  36.   { 
  37.    $tmp[] = $data
  38.   } 
  39.  
  40.   return $tmp
  41.  } 

这里我们主要用到了php fgetcsv函数、fputcsv函数,CSV文件下载代码如下:

  1. function exportUserTask() 
  2.  //获取数据库数据 
  3.  /* 
  4.   * $result = array( 
  5.   *   array(value1,value2,value3,value4,value5,value6), 
  6.   *   array(value1,value2,value3,value4,value5,value6), 
  7.   * ); 
  8.   */ 
  9.  
  10.  $handle = fopen('php://output'"w"); 
  11.  header('Content-Type: application/csv'); 
  12.  header('Content-Disposition: attachment; filename="test.csv"'); 
  13.  
  14.  //表头
  15.  fputcsv($handlearray('用户UID''用户名''进行中''已完成''已失败''总计')); 
  16.  
  17.  foreach($result as $value
  18.  { 
  19.   fputcsv($handle$value); 
  20.  } 
  21.  
  22.  fclose($handle); 

需要提醒的是在导入、导出数据过程注意中文乱码问题,这主要是数据编码格式问题,使用过程根据实际情况对数据进行转码.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论