首页 > Web开发 > 详细

PHP文件下载功能【真实项目】

时间:2016-03-17 07:10:19      阅读:124      评论:0      收藏:0      [点我收藏+]

    有时候在项目中需要这样一种功能:把数据库里面的数据查询出来后,保存到csv文件里面。然后下载到客户端。开发思路:

  1. 先把需要查询的数据从数据库里面查询出来;

  2. 把需要查询出来的数据写入到csv文件里面;

3.  保存到客户端(浏览器);

    模拟生产(项目)情况,代码清单如下:
    

<?php
  /**
    * 实现下载csv文件
    */
     //模拟数据
     $users = array(
       array("username"=>"刘德华","age"=>56,"work"=>"演戏"),
       array("username"=>"张学友","age"=>55,"work"=>"唱歌"),
     );
     $filename = date(‘Ymd‘).‘.csv‘;
     data2csv($users,$filename);
    /**
      *@param $data array 从数据库里面查询出来的数据
      *@param $download_file_name string 客户端下载后的文件名
      */
    function data2csv($data,$download_file_name){
        header("Content-type:text/csv");  //保存文件的类型
        header("Content-Disposition:attachment;filename=".$download_file_name);//保存文件的名字
        header(‘Cache-Control:must-revalidate,post-check=0,pre-check=0‘);
        header(‘Expires:0‘);
        header(‘Pragma:public‘);
        ob_start();//开启ob缓存
        echo "\xEF\xBB\xBF";
        $df   = fopen("php://output",‘w‘);
        $head = array_keys(reset($data));
        fputcsv($df,$head);//保存第一行
        foreach($data as $row){
          fputcsv($df,$row);
        }
        fclose($df);
        echo ob_get_clean();
    }


本文出自 “Linux运维、PHP开发” 博客,请务必保留此出处http://oldgun.blog.51cto.com/3852581/1751976

PHP文件下载功能【真实项目】

原文:http://oldgun.blog.51cto.com/3852581/1751976

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!