php遍历CSV类实例

yipeiwu_com6年前PHP代码库

本文实例讲述了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
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

crontab无法执行php的解决方法

本文分析了crontab无法执行php的解决方法。分享给大家供大家参考,具体如下: 用crontab跑php程序时,如何去调试,各人有各人的方法。我也有套方法,看一下,我是如何解决cro...

php实现图片添加描边字和马赛克的方法

php实现图片添加描边字和马赛克的方法

本文实例讲述了php实现图片添加描边字和马赛克的方法。分享给大家供大家参考。具体实现方法如下: 马赛克:void imagemask ( resource image, int x1,...

php array_merge函数使用需要注意的一个问题

使用php语言的array_merge函数时,以为相同的键名会覆盖,但是请看如下代码: 复制代码 代码如下: $a1 = array(1=>'abc', 3=>10); $a...

apache中为php 设置虚拟目录

apache中为php 设置虚拟目录

php 设置虚拟目录两个步骤,很简单。 第一,打开安装apache目录下的conf下面的httpd.conf文件。 找到IfModule 标记, 再它下面添加红色方框中的内容。注意不能...

php中用memcached实现页面防刷新功能

有个新需求要加上去,防止用户频繁刷新页面。具体需求是当用户在一分钟之后内请求指定的页面超过100次,就直接拒绝请求。仔细分析后发现这个功能用memcache来做最方便: 1、以用户IP和...