PHP解压缩文件函数详解

jopen 10年前

欲使用本函数库需先安装 zlib,可到 http://www.zlib.net/ 取得该函数库。 )

zclose: 关闭压缩文件。

gzeof: 判断是否在压缩文件尾。

gzfile: 读压缩文件到数组中。

gzgetc: 读压缩文件中的字符。

gzgets: 读压缩文件中的字符串。

gzgetss: 读压缩文件中的字符串,并去掉 HTML 指令。

gzopen: 打开压缩文件。

gzpassthru: 解压缩指针后全部资料。

gzputs: 资料写入压缩文件。

gzread: 压缩文件读出指定长度字符串。

gzrewind: 重设压缩文件指针。

gzseek: 设压缩文件指针至指定处。

gztell: 取得压缩文件指针处。

readgzfile: 读出压缩文件。

gzwrite: 资料写入压缩文件。

gzclose 关闭压缩文件。

语法: boolean gzclose(int zp);

返回值: 布尔值

函数种类: 特殊文件格式

内容说明: 本函数将已打开的压缩文件关闭。参数 zp 为压缩文件的指针代码。成功则返回 true 值。

参考: gzopen()

gzeof 判断是否在压缩文件尾。


语法: boolean gzeof(int zp);

返回值: 布尔值

函数种类: 特殊文件格式

内容说明: 本函数用来判断目前打开的压缩文件指针是否指到文件尾 (EOF, End OF File)。参数 zp 为压缩文件的指针代码。在文件尾则返回 true 值。

gzfile 读压缩文件到数组中。

语法: array gzfile(string filename);

返回值: 数组

函数种类: 特殊文件格式


内容说明: 本函数将压缩文件读出并解压缩至数组变量中。参数 filename 为文件名称。

gzgetc 读压缩文件中的字符。

语法: string gzgetc(int zp);

返回值: 字符串


函数种类: 特殊文件格式

内容说明: 本函数将压缩文件解压缩并取出一个字符。参数 gz 为压缩文件打开代码。若至文件尾则会返回 false。

gzgets 读压缩文件中的字符串。

语法: string gzgets(int zp, int length);

返回值: 字符串

函数种类: 特殊文件格式

内容说明: 本函数将压缩文件解压缩并取出指定长度的字符串。参数 gz 为压缩文件打开代码。参数 length 为指定字符串长度加一,意即读出的字符串长度为 length-1。若至文件尾或至行尾即行停止,因此本函数通常用来读取一行。

gzgetss 读压缩文件中的字符串,并去掉 HTML 指令。

语法: string gzgetss(int zp, int length);

返回值: 字符串

函数种类: 特殊文件格式

内容说明: 本函数将压缩文件解压缩并取出指定长度的字符串,并将字符串中的 HTML 或 PHP 指令去掉,返回纯文字。参数 gz 为压缩文件打开代码。参数 length 为指定字符串长度加一,意即读出的字符串长度为 length-1。若至文件尾或至行尾即行停止,因此本函数通常用来读取一行。

gzopen 打开压缩文件。

语法: int gzopen(string filename, string mode);

返回值: 整数

函数种类: 特殊文件格式

内容说明: 本函数用来打开压缩文件。参数 filename 为文件名称。参数 mode 为开文件的状态。若有失败则返回 false 值。

使用范例,下面为部份程序

<?php

  $fp=gzopen("/tmp/gzfile.gz""r");

?>

参考 gzclose()

gzpassthru 解压缩指针后全部资料。

语法: boolean gzpassthru(int zp);

返回值: 布尔值


函数种类: 特殊文件格式

内容说明: 本函数将已打开压缩文件文件指针后的资料全部解压缩,并输出至标准输出装置 (stdout)。参数 gz 为开文件的代码。若有失败则返回 false 值。

gzputs 资料写入压缩文件。

语法: boolean gzputs(int zp, string str, int [length]);

返回值: 布尔值

函数种类: 特殊文件格式

内容说明: 本函数其实就是 gzwrite()。参数 gz 为开文件的代码。参数 str 为欲写入的字符串。参数 length 可省略,为指定长度。若有失败则返回 false 值。

    gzread 压缩文件读出指定长度字符串。        语法: string gzread(int zp, int length);        返回值: 字符串        函数种类: 特殊文件格式        内容说明: 本函数用来读取指定长度的字符串。参数 gz 为开文件的代码。参数 length 为指定长度。        使用范例        <?php          $filename = "/temp/sosofile.txt.gz";          $zd = gzopen($filename, "r");          $contents = gzread($zd, 10000);          gzclose($zd);        ?>  

gzrewind 重设压缩文件指针。

语法: boolean gzrewind(int zp);

返回值: 布尔值

函数种类: 特殊文件格式

内容说明: 本函数将重设压缩文件的文件操作指针到文件头处。参数 zp 为开文件代码。

gzseek 设压缩文件指针至指定处。

语法: int gzseek(int zp, int offset);

返回值: 整数


函数种类: 特殊文件格式

内容说明: 本函数将重设压缩文件的文件操作指针到指定的位处。参数 zp 为开文件代码。参数 offset 为第几个位。成功则返回 0,失败返回 -1。

    gztell 取得压缩文件指针处。        语法: int gztell(int zp);        返回值: 整数        函数种类: 特殊文件格式        内容说明: 本函数用来取得压缩文件的文件操作指针在某位处。参数 zp 为开文件代码。        使用范例        <?php          $exfile=gzopen("/tmp/haha.gz", "r");          $aline=gzgets($exfile, 80);          print("现在文件指针在第".gztell($exfile)."个位");          gzclose($exfile);        ?>  

readgzfile 读出压缩文件

语法: boolean readgzfile(string filename);

返回值: 布尔值

函数种类: 特殊文件格式

内容说明: 本函数将压缩文件全部读出并解压缩,之后将内容送到标准输出设备上 (stdout)。参数 filename 为文件名称。本函数其实也可以读取非压缩文件至标准输出设备中。

gzwrite 资料写入压缩文件。

语法: boolean gzwrite(int zp, string string, int [length]);

返回值: 布尔值

函数种类: 特殊文件格式

内容说明: 本函数用来将资料写入指定的压缩文件中。参数 gz 为开文件的代码。参数 str 为欲写入的字符串。参数 length 可省略,为指定长度。若有失败则返回 false 值。

附上 PHP解压zip文件函数源码:

 
/**********************    *@file - path to zip file  需要解压的文件的路径    *@destination - destination directory for unzipped files  解压之后存放的路径    *@Recorded  By Androidyue    *@需要使用 ZZIPlib library ,请确认该扩展已经开启    */      function unzip_file($file, $destination){      // 实例化对象      $zip = new ZipArchive() ;      //打开zip文档,如果打开失败返回提示信息      if ($zip->open($file) !== TRUE) {          die ("Could not open archive");      }      //将压缩文件解压到指定的目录下      $zip->extractTo($destination);      //关闭zip文档      $zip->close();          echo 'Archive extracted to directory';      }      //测试执行      //unzip_file("1.func.zip","1");    
来自:http://blog.csdn.net/websites/article/details/29577177