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

📄 unzip.lib.php

📁 架設ROSE私服必備之物 ROSE數據庫
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?PHP    /* $Id: unzip.lib.php 8301 2006-01-17 17:03:02Z cybot_tm $ */    /**     *  ZIP file unpack classes. Contributed to the phpMyAdmin project.     *     *  @category   phpPublic     *  @package    File-Formats-ZIP     *  @subpackage Unzip     *  @filesource unzip.lib.php     *  @version    1.0.1     *     *  @author     Holger Boskugel <vbwebprofi@gmx.de>     *  @copyright  Copyright 漏 2003, Holger Boskugel, Berlin, Germany     *  @license    http://opensource.org/licenses/gpl-license.php GNU Public License     *     *  @history     *  2003-12-02 - HB : Patched : naming bug : Time/Size of file     *                    Added   : ZIP file comment     *                    Added   : Check BZIP2 support of PHP     *  2003-11-29 - HB * Initial version     */    /**     *  Unzip class, which retrieves entries from ZIP files.     *     *  Supports only the compression modes     *  -  0 : Stored,     *  -  8 : Deflated and     *  - 12 : BZIP2     *     *  Based on :<BR>     *  <BR>     *  {@link http://www.pkware.com/products/enterprise/white_papers/appnote.html     *  * Official ZIP file format}<BR>     *  {@link http://msdn.microsoft.com/library/en-us/w98ddk/hh/w98ddk/storage_5l4m.asp     *  * Microsoft DOS date/time format}     *     *  @category   phpPublic     *  @package    File-Formats-ZIP     *  @subpackage Unzip     *  @version    1.0.1     *  @author     Holger Boskugel <vbwebprofi@gmx.de>     *  @uses       SimpleUnzipEntry     *  @example    example.unzip.php Two examples     */    class SimpleUnzip {// 2003-12-02 - HB >        /**         *  Array to store file entries         *         *  @var    string         *  @access public         *  @see    ReadFile()         *  @since  1.0.1         */        var $Comment = '';// 2003-12-02 - HB <        /**         *  Array to store file entries         *         *  @var    array         *  @access public         *  @see    ReadFile()         *  @since  1.0         */        var $Entries = array();        /**         *  Name of the ZIP file         *         *  @var    string         *  @access public         *  @see    ReadFile()         *  @since  1.0         */        var $Name = '';        /**         *  Size of the ZIP file         *         *  @var    integer         *  @access public         *  @see    ReadFile()         *  @since  1.0         */        var $Size = 0;        /**         *  Time of the ZIP file (unix timestamp)         *         *  @var    integer         *  @access public         *  @see    ReadFile()         *  @since  1.0         */        var $Time = 0;        /**         *  Contructor of the class         *         *  @param  string      File name         *  @return SimpleUnzip Instanced class         *  @access public         *  @uses   SimpleUnzip::ReadFile() Opens file on new if specified         *  @since  1.0         */        function SimpleUnzip($in_FileName = '')        {            if ($in_FileName !== '') {                SimpleUnzip::ReadFile($in_FileName);            }        } // end of the 'SimpleUnzip' constructor        /**         *  Counts the entries         *         *  @return integer Count of ZIP entries         *  @access public         *  @uses   $Entries         *  @since  1.0         */        function Count()        {            return count($this->Entries);        } // end of the 'Count()' method        /**         *  Gets data of the specified ZIP entry         *         *  @param  integer Index of the ZIP entry         *  @return mixed   Data for the ZIP entry         *  @uses   SimpleUnzipEntry::$Data         *  @access public         *  @since  1.0         */        function GetData($in_Index)        {            return $this->Entries[$in_Index]->Data;        } // end of the 'GetData()' method        /**         *  Gets an entry of the ZIP file         *         *  @param  integer             Index of the ZIP entry         *  @return SimpleUnzipEntry    Entry of the ZIP file         *  @uses   $Entries         *  @access public         *  @since  1.0         */        function GetEntry($in_Index)        {            return $this->Entries[$in_Index];        } // end of the 'GetEntry()' method        /**         *  Gets error code for the specified ZIP entry         *         *  @param  integer     Index of the ZIP entry         *  @return integer     Error code for the ZIP entry         *  @uses   SimpleUnzipEntry::$Error         *  @access public         *  @since   1.0         */        function GetError($in_Index)        {            return $this->Entries[$in_Index]->Error;        } // end of the 'GetError()' method        /**         *  Gets error message for the specified ZIP entry         *         *  @param  integer     Index of the ZIP entry         *  @return string      Error message for the ZIP entry         *  @uses   SimpleUnzipEntry::$ErrorMsg         *  @access public         *  @since  1.0         */        function GetErrorMsg($in_Index)        {            return $this->Entries[$in_Index]->ErrorMsg;        } // end of the 'GetErrorMsg()' method        /**         *  Gets file name for the specified ZIP entry         *         *  @param  integer     Index of the ZIP entry         *  @return string      File name for the ZIP entry         *  @uses   SimpleUnzipEntry::$Name         *  @access public         *  @since  1.0         */        function GetName($in_Index)        {            return $this->Entries[$in_Index]->Name;        } // end of the 'GetName()' method        /**         *  Gets path of the file for the specified ZIP entry         *         *  @param  integer     Index of the ZIP entry         *  @return string      Path of the file for the ZIP entry         *  @uses   SimpleUnzipEntry::$Path         *  @access public         *  @since  1.0         */        function GetPath($in_Index)        {            return $this->Entries[$in_Index]->Path;        } // end of the 'GetPath()' method        /**         *  Gets file time for the specified ZIP entry         *         *  @param  integer     Index of the ZIP entry         *  @return integer     File time for the ZIP entry (unix timestamp)         *  @uses   SimpleUnzipEntry::$Time         *  @access public         *  @since  1.0         */        function GetTime($in_Index)        {            return $this->Entries[$in_Index]->Time;        } // end of the 'GetTime()' method        /**         *  Reads ZIP file and extracts the entries         *         *  @param  string              File name of the ZIP archive         *  @return array               ZIP entry list (see also class variable {@link $Entries $Entries})         *  @uses   SimpleUnzipEntry    For the entries         *  @access public         *  @since  1.0         */        function ReadFile($in_FileName)        {            $this->Entries = array();            // Get file parameters            $this->Name = $in_FileName;            $this->Time = filemtime($in_FileName);            $this->Size = filesize($in_FileName);            // Read file            $oF = fopen($in_FileName, 'rb');            $vZ = fread($oF, $this->Size);

⌨️ 快捷键说明

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