PHP----CSV文件处理类
来源:互联网 发布:数据漫游用打开吗 编辑:程序博客网 时间:2024/06/05 20:07
CVS文件的导入和导出php类
class csv{ public $csv_array; //csv数组数据 public $csv_str; //csv文件数据 public function __construct($param_arr, $column) { $this->csv_array = $param_arr; $this->path = $path; $this->column = $column; } /** * 导出 * */ public function export() { if (empty($this->csv_array) || empty($this->column)) { return false; } $param_arr = $this->csv_array; unset($this->csv_array); $export_str = implode(',', $param_arr['nav']) . "n"; unset($param_arr['nav']); //组装数据 foreach ($param_arr as $k => $v) { foreach ($v as $k1 => $v1) { $export_str .= implode(',', $v1) . "n"; } } //将$export_str导出 header("Cache-Control: public"); header("Pragma: public"); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=txxx.csv"); header('Content-Type:APPLICATION/OCTET-STREAM'); ob_start(); // $file_str= iconv("utf-8",'gbk',$export_str); ob_end_clean(); echo $export_str; } /** * 导入 * */ public function import($path, $column = 3) { $flag = flase; $code = 0; $msg = '未处理'; $filesize = 1; //1MB $maxsize = $filesize * 1024 * 1024; $max_column = 1000; //检测文件是否存在 if ($flag === flase) { if (!file_exists($path)) { $msg = '文件不存在'; $flag = true; } } //检测文件格式 if ($flag === flase) { $ext = preg_replace("/.*.([^.]+)/", "$1", $path); if ($ext != 'csv') { $msg = '只能导入CSV格式文件'; $flag = true; } } //检测文件大小 if ($flag === flase) { if (filesize($path) > $maxsize) { $msg = '导入的文件不得超过' . $maxsize . 'B文件'; $flag = true; } } //读取文件 if ($flag == flase) { $row = 0; $handle = fopen($path, 'r'); $dataArray = array(); while ($data = fgetcsv($handle, $max_column, ",")) { $num = count($data); if ($num < $column) { $msg = '文件不符合规格真实有:' . $num . '列数据'; $flag = true; break; } if ($flag === flase) { for ($i = 0; $i < 3; $i++) { if ($row == 0) { break; } //组建数据 $dataArray[$row][$i] = $data[$i]; } } $row++; } } return $dataArray; }}$param_arr = array( 'nav' => array('用户名', '密码', '邮箱'), array(0 => array('aaa', '123456', 'aaa@yahoo.com'), 1 => array('bbb', '213456', 'bbb@yahoo.com'), 2 => array('ccc', '123456', 'ccc@yahoo.com') ));$column = 3;$csv = new Csv($param_arr, $column);$csv->export(); //下载$path = 'd:/tmp.csv';$import_arr = $csv->import($path, 3);
0 0
- PHP----CSV文件处理类
- php 处理csv文件
- php 处理Excel 文件csv
- php读取csv文件类
- VB.Net CSV文件处理类
- Python 处理CSV文件
- python处理文件(.csv)
- Python 处理CSV文件
- 处理csv文件
- Python 处理CSV文件
- python处理.csv文件
- java处理csv文件
- CSV 文件处理 PERL
- csv文件处理
- CSV文件处理
- CSV文件处理
- Python--CSV文件处理
- Java处理csv文件
- 如何在线程中获取spring 管理的bean
- NPOI2.2.0.0实例详解(十一)—向EXCEL插入图片
- Debug 与 Release、Release调试
- Android Tab(TabLayout+Fragment)
- uva10881
- PHP----CSV文件处理类
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
- Java类与对象===Java访问修饰符(访问控制符)
- VS2010如何设置使得可以是程序利用argv参数来运行
- Lucene 实例教程(二)之IKAnalyzer中文分词器
- 从3张图了解Pinterest Feed算法与架构设计
- 记一次不愉快的bug修复
- 安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom
- 为什么 LR 模型要使用 sigmoid 函数,背后的数学原理是什么?