如何使用 php 提取或解压 gzip 文件?

phpserver side programmingprogramming更新于 2025/4/16 21:07:17

可以使用 PHP 的 gzread 函数解压或解压缩压缩文件。下面是相同的代码示例 −

示例

$file_name = name_of/.dump.gz';
$buffer_size = 4096; // 特定时间需要读取的字节数,此处为 4KB
$out_file_name = str_replace('.gz', '', $file_name);
$file = gzopen($file_name, 'rb'); //以二进制模式打开文件
$out_file = fopen($out_file_name, 'wb');
//不断重复,直到输入文件的末尾
while (!gzeof($file)) {
   fwrite($out_file, gzread($file, $buffer_size)); //读取缓冲区大小的字节。
}
fclose($out_file); //完成后关闭文件
gzclose($file);

输出

将产生以下输出 −

The uncompressed data which is extracted by unzipping the zipped file.

压缩文件的路径存储在名为‘file_name’的变量中。每次需要读取的字节数是固定的,并分配给名为"buffer_size"的变量。输出文件不会有 .gz 扩展名,因此输出文件名存储在名为"out_file_name"的变量中。

"out_file_name"以写入二进制模式打开,在从解压的 zip 文件中读取内容后将内容附加到其中。"file_name"以读取模式打开,使用"gzread"函数读取内容,并将提取的这些内容写入"out_file"。while 循环运行以确保读取内容直到文件末尾。


相关文章