⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iterator.php

📁 This is the script which used on 10minutemail.com for temporary email.
💻 PHP
字号:
<?php// +----------------------------------------------------------------------+// | PHP version 5                                                        |// +----------------------------------------------------------------------+// | Copyright (c) 1998-2006 Manuel Lemos, Tomas V.V.Cox,                 |// | Stig. S. Bakken, Lukas Smith                                         |// | All rights reserved.                                                 |// +----------------------------------------------------------------------+// | MDB2 is a merge of PEAR DB and Metabases that provides a unified DB  |// | API as well as database abstraction for PHP applications.            |// | This LICENSE is in the BSD license style.                            |// |                                                                      |// | Redistribution and use in source and binary forms, with or without   |// | modification, are permitted provided that the following conditions   |// | are met:                                                             |// |                                                                      |// | Redistributions of source code must retain the above copyright       |// | notice, this list of conditions and the following disclaimer.        |// |                                                                      |// | Redistributions in binary form must reproduce the above copyright    |// | notice, this list of conditions and the following disclaimer in the  |// | documentation and/or other materials provided with the distribution. |// |                                                                      |// | Neither the name of Manuel Lemos, Tomas V.V.Cox, Stig. S. Bakken,    |// | Lukas Smith nor the names of his contributors may be used to endorse |// | or promote products derived from this software without specific prior|// | written permission.                                                  |// |                                                                      |// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  |// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT    |// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS    |// | FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE      |// | REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,          |// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |// | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS|// |  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED  |// | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT          |// | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY|// | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE          |// | POSSIBILITY OF SUCH DAMAGE.                                          |// +----------------------------------------------------------------------+// | Author: Lukas Smith <smith@pooteeweet.org>                           |// +----------------------------------------------------------------------+//// $Id: Iterator.php,v 1.22 2006/05/06 14:03:41 lsmith Exp $/** * PHP5 Iterator * * @package  MDB2 * @category Database * @author   Lukas Smith <smith@pooteeweet.org> */class MDB2_Iterator implements Iterator{    protected $fetchmode;    protected $result;    protected $row;    // {{{ constructor    /**     * Constructor     */    public function __construct($result, $fetchmode = MDB2_FETCHMODE_DEFAULT)    {        $this->result = $result;        $this->fetchmode = $fetchmode;    }    // }}}    // {{{ seek()    /**     * Seek forward to a specific row in a result set     *     * @param int number of the row where the data can be found     *     * @return void     * @access public     */    public function seek($rownum)    {        $this->row = null;        if ($this->result) {            $this->result->seek($rownum);        }    }    // }}}    // {{{ next()    /**     * Fetch next row of data     *     * @return void     * @access public     */    public function next()    {        $this->row = null;    }    // }}}    // {{{ current()    /**     * return a row of data     *     * @return void     * @access public     */    public function current()    {        if (is_null($this->row)) {            $row = $this->result->fetchRow($this->fetchmode);            if (PEAR::isError($row)) {                $row = false;            }            $this->row = $row;        }        return $this->row;    }    // }}}    // {{{ valid()    /**     * Check if the end of the result set has been reached     *     * @return bool true/false, false is also returned on failure     * @access public     */    public function valid()    {        return (bool)$this->current();    }    // }}}    // {{{ free()    /**     * Free the internal resources associated with result.     *     * @return bool|MDB2_Error true on success, false|MDB2_Error if result is invalid     * @access public     */    public function free()    {        if ($this->result) {            return $this->result->free();        }        $this->result = false;        $this->row = null;        return false;    }    // }}}    // {{{ key()    /**     * Returns the row number     *     * @return int|bool|MDB2_Error true on success, false|MDB2_Error if result is invalid     * @access public     */    public function key()    {        if ($this->result) {            return $this->result->rowCount();        }        return false;    }    // }}}    // {{{ rewind()    /**     * Seek to the first row in a result set     *     * @return void     * @access public     */    public function rewind()    {    }    // }}}    // {{{ destructor    /**     * Destructor     */    public function __destruct()    {        $this->free();    }    // }}}}/** * PHP5 buffered Iterator * * @package  MDB2 * @category Database * @author   Lukas Smith <smith@pooteeweet.org> */class MDB2_BufferedIterator extends MDB2_Iterator implements SeekableIterator{    // {{{ valid()    /**     * Check if the end of the result set has been reached     *     * @return bool|MDB2_Error true on success, false|MDB2_Error if result is invalid     * @access public     */    public function valid()    {        if ($this->result) {            return $this->result->valid();        }        return false;    }    // }}}    // {{{count()    /**     * Returns the number of rows in a result object     *     * @return int|MDB2_Error number of rows, false|MDB2_Error if result is invalid     * @access public     */    public function count()    {        if ($this->result) {            return $this->result->numRows();        }        return false;    }    // }}}    // {{{ rewind()    /**     * Seek to the first row in a result set     *     * @return void     * @access public     */    public function rewind()    {        $this->seek(0);    }    // }}}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -