首页 > php代码 > PHP实现数据导入、CSV文件下载的例子

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

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

导入、导出CSV文件

代码:

<?php
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 http://www.phprm.com
     * @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文件下载

<?php
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);
}
?>

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


永久地址:http://www.phprm.com/code/59007.html

转载随意~请带上教程地址吧^^

标签:foreach fopen 文件下载

相关文章

发表留言