首页 > 代码库 > PHP解压缩文件函数详解

PHP解压缩文件函数详解

欲使用本函数库需先安装 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");  
谢谢关注websites博客!