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


可以使用 PHP 的 gzread 函数解压缩压缩文件。以下为相同内容的代码示例 −

示例

$file_name = name_of/.dump.gz';
$buffer_size = 4096; // The number of bytes that needs to be read at a specific time, 4KB here
$out_file_name = str_replace('.gz', '', $file_name);
$file = gzopen($file_name, 'rb'); //Opening the file in binary mode
$out_file = fopen($out_file_name, 'wb');
// Keep repeating until the end of the input file
while (!gzeof($file)) {
   fwrite($out_file, gzread($file, $buffer_size)); //Read buffer-size bytes.
}
fclose($out_file); //Close the files once they are done with
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 循环用于确保在文件末尾读取内容。

更新于:09-Apr-2020

987 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告