自、管
分类: LINUX
2010-06-23 14:51:46
一,gz文件打开/读写/关闭操作函数 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 '; $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('', 9); echo $compressed; (2)gzuncompress解压字符串 $compressed = gzcompress('', 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 — 返回一个压缩类型码 |