处理大文件时,可以使用gzopen()函数来创建一个可读写的gzip压缩文件流,并在读写时进行逐块处理。以下是一个示例代码:
// 打开源文件和目标压缩文件$input_file = 'large_file.txt';$output_file = 'compressed_file.gz';$input = fopen($input_file, 'rb');$output = gzopen($output_file, 'wb');// 逐块读取源文件并进行压缩while (!feof($input)) { $buffer = fread($input, 1024 * 1024); // 1MB 缓冲区 gzwrite($output, $buffer);}// 关闭文件流fclose($input);gzclose($output);echo '压缩完成!';这段代码会打开一个大文件,逐块读取内容并压缩到目标文件中。可以根据实际情况调整缓冲区大小。


