gzopen — 打开一个gz文件(类似于fopen)
gzwrite — 写入gz文件(可安全用于二进制文件)(类似于fwrite)
gzputs — gzwrite的别名(类似于fputs)
gzread — 读取gz文件(可安全用于二进制文件)(类似于fread)
gzclose — 关闭一个已打开的gz文件指针(类似于fclose)
实例分析:
(1)gzopen打开一个.gz为后缀的文件用于读/写,注意,gzopen只能用于gzip格式文件
$fp = gzopen("/biuuu/biuuu.gz", "r");
(2)gzwrite或gzputs写入gz文件,如果不存在则新建.gz后缀文件
$string = 'welcome to www.biuu.com';
$gz = gzopen('biuuu.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
(3)gzread读取整个gz文件
$filename = "/biuuu/biuuu.txt.gz";
$zd = gzopen($filename, "r");
$contents = gzread($zd, 10000);
gzclose($zd);
(4)gzclose关闭一个已打开的gz文件指针
二,gz文件数据读取字符串函数
gzfile — 读取整个gz文件为一个数组(类似于file)
gzgetc — 从gz文件指针中读取字符(类似于fgetc)
gzgets — 从gz文件指针中读取一行(类似于fgets)
gzgetss — 从gz文件指针中读取一行并过滤掉 HTML 标记(类似于fgetss)
gzeof — 测试gz文件指针是否到了文件结束的位置(类似于feof)
实例分析:
(1)gzfile读取整个gz文件为一个数组
$lines = gzfile('biuuu.gz');
foreach ($lines as $line) {
echo $line;
}
(2)gzgetc从gz文件指针中读取字符
$gz = gzopen('biuuu.gz', 'r');
while (!gzeof($gz)) {
echo gzgetc($gz);
}
gzclose($gz);
(3)gzgets从gz文件指针中读取一行
$handle = gzopen('biuuu.gz', 'r');
while (!gzeof($handle)) {
$buffer = gzgets($handle, 4096);
echo $buffer;
}
gzclose($handle);
(4)gzgetss从gz文件指针中读取一行并过滤掉 HTML 标记(同上gzgets)
(5)gzeof 测试gz文件指针是否到了文件结束的位置
$gz = gzopen('biuuu.gz', 'r');
while (!gzeof($gz)) {
echo gzgetc($gz);
}
gzclose($gz);
三,gz文件压缩/解压缩操作函数
gzcompress — 压缩字符串
gzuncompress — 解压字符串
gzdecode — 解密gzip压缩的字符串
gzencode — 加密gzip压缩的字符串
gzdeflate — 压缩字符串(deflate是同时使用了LZ77算法与哈夫曼编码的一个无损数据压缩算法)
gzinflate — 解压字符串
实例分析:
(1)gzcompress压缩字符串,0-9等级
$compressed = gzcompress('www.biuuu.com', 9);
echo $compressed;
(2)gzuncompress解压字符串
$compressed = gzcompress('www.biuuu.com', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
(3)gzdecode与gzencode和gzdeflate与gzinflate使用同上
四,gz文件指针操作函数
gzrewind — 在gz文件指针中重定位
gzseek — 在gz文件指针中定位(类似于fseek)
gztell — 返回gz文件指针读/写的位置(类似于ftell)
五,gz文件其它操作函数
gzpassthru — 输出gz文件指针处的所有剩余数据(类似于fpassthru)
readgzfile — 把整个gz文件读入一个数组中
zlib_get_coding_type — 返回一个压缩类型码