如何使用 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 循环用于确保在文件末尾读取内容。
广告