php遍历CSV类实例
这篇文章主要介绍了php遍历CSV类,实例分析了php针对csv文件的打开、读取及遍历的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了php遍历CSV类,分享给大家供大家参考,具体如下:
- <?php
- class CSVIterator implements Iterator
- {
- const ROW_SIZE = 4096;
- private $filePointer;
- private $currentElement;
- private $rowCounter;
- private $delimiter;
- public function __construct( $file, $delimiter = ',' )
- {
- $this->filePointer = fopen( $file, 'r' );
- $this->delimiter = $delimiter;
- }
- public function rewind()
- {
- $this->rowCounter = 0;
- rewind( $this->filePointer );
- }
- public function current()
- {
- $this->currentElement = fgetcsv($this->filePointer,self::ROW_SIZE,$this->delimiter);
- $this->rowCounter++;
- return $this->currentElement;
- }
- public function key()
- {
- return $this->rowCounter;
- }
- public function next()
- {
- return !feof( $this->filePointer );
- }
- public function valid()
- {
- if( !$this->next() )
- {
- fclose( $this->filePointer );
- return FALSE;
- }
- return TRUE;
- }
- } // end class
- ?>