下面我来给各位同学简单的分享两个利用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 * @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); } ?>
需要提醒的是在导入、导出数据过程注意中文乱码问题,这主要是数据编码格式问题,使用过程根据实际情况对数据进行转码.
本文地址:
转载随意,但请附上文章地址:-)