一,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 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 — 返回一個壓縮類型碼
詳解 zlib 函數庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.