php遍歷CSV類實(shí)例

字號(hào):


    具體如下:
    <?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
    ?>