加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP完成数据导入 CSV文件下载的例子

发布时间:2022-01-23 11:33:41 所属栏目:PHP教程 来源:互联网
导读:下面我来给各位同学简单的分享两个利用php操作csv格式文件的例子,一个是对csv输出下载,另一个是利用php的fgetcsv函数、fputcsv函数进行读写操作. 导入、导出CSV文件,代码如下: class csv { private $resource; /** * @param string $fileName 文件路径 * @
  下面我来给各位同学简单的分享两个利用php操作csv格式文件的例子,一个是对csv输出下载,另一个是利用php的fgetcsv函数、fputcsv函数进行读写操作.
 
  导入、导出CSV文件,代码如下:
 
  class csv
  {
   private $resource;
  
   /**
    * @param string $fileName 文件路径
    * @param string $mode     文件访问类型:w:写入、r:只读
    */
   public function __construct($fileName, $mode)
   {
    $this->resource = fopen($fileName, $mode);
   }
  
   public function __destruct()
   {
    fclose($this->resource);
   }
  
   /**
    * 导入CSV
     * @param array $data
    * @return int
    */
   public function export($data)
   {
    fputcsv($this->resource, $data);
   }
  
   /**
    * 导出CSV
    * @return array
    */
   public function import()
   {
    $tmp = array();
    while($data = fgetcsv($this->resource))
    {
     $tmp[] = $data;
    }
  
    return $tmp;
   }
  }
  这里我们主要用到了php fgetcsv函数、fputcsv函数,CSV文件下载代码如下:
 
  function exportUserTask()
  {
   //获取数据库数据
   /*
    * $result = array(
    *   array(value1,value2,value3,value4,value5,value6),
    *   array(value1,value2,value3,value4,value5,value6),
    * );
    */
  
   $handle = fopen('php://output', "w");
   header('Content-Type: application/csv');
   header('Content-Disposition: attachment; filename="test.csv"');
  
   //表头
   fputcsv($handle, array('用户UID', '用户名', '进行中', '已完成', '已失败', '总计'));
  
   foreach($result as $value)
   {
    fputcsv($handle, $value);
   }
  
   fclose($handle);
  }
  需要提醒的是在导入、导出数据过程注意中文乱码问题,这主要是数据编码格式问题,使用过程根据实际情况对数据进行转码.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读