CSV 文件读取类
Posted Funsion Wu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSV 文件读取类相关的知识,希望对你有一定的参考价值。
class CsvReader { private $csv_file; private $spl_object = null; private $error; public function __construct($csv_file = ‘‘) { if($csv_file && file_exists($csv_file)) { $this->csv_file = $csv_file; } } public function set_csv_file($csv_file) { if(!$csv_file || !file_exists($csv_file)) { $this->error = ‘File invalid‘; return false; } $this->csv_file = $csv_file; $this->spl_object = null; } public function get_csv_file() { return $this->csv_file; } private function _file_valid($file = ‘‘) { $file = $file ? $file : $this->csv_file; if(!$file || !file_exists($file)) { return false; } if(!is_readable($file)) { return false; } return true; } private function _open_file() { if(!$this->_file_valid()) { $this->error = ‘File invalid‘; return false; } if($this->spl_object == null) { $this->spl_object = new SplFileObject($this->csv_file, ‘rb‘); } return true; } public function get_data($length = 0, $start = 0) { if(!$this->_open_file()) { return false; } $length = $length ? $length : $this->get_lines(); $start = $start - 1; $start = ($start < 0) ? 0 : $start; $data = array(); $this->spl_object->seek($start); while ($length-- && !$this->spl_object->eof()) { $data[] = $this->spl_object->fgetcsv(); $this->spl_object->next(); } return $data; } public function get_lines() { if(!$this->_open_file()) { return false; } $this->spl_object->seek(filesize($this->csv_file)); return $this->spl_object->key(); } public function get_error() { return $this->error; } }
以上是关于CSV 文件读取类的主要内容,如果未能解决你的问题,请参考以下文章
solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类