【问题标题】:PHP: Uncompressing gzcompressed file with gzuncompress and fopenPHP:使用 gzuncompress 和 fopen 解压缩 gzcompressed 文件
【发布时间】:2011-07-29 13:10:35
【问题描述】:

我正在尝试解压缩二进制文件,然后将其解压缩以测试压缩是否有效。 但是,“未压缩”文件与“压缩”文件具有相同的数据。好像解压缩从未发生过。我在下面列出了代码。 提前致谢:

//compressing  
//read file  
$filename = 'tocompress/tocompress'.$number_input.'.bin';  
$contents=fread($fp,filesize($filename));  
fclose($fp);  
//compress file  
$compressing = gzcompress($contents , '0');  
//write to file  
$fp = fopen('compressed/compressed'.$number_input.'.bin', 'wb');  
 fwrite($fp, $compressing);  
 fclose($fp);  

//uncompressing  
//read file  
$uncompfilename='compressed/compressed'.$number_input.'.bin';  
$fp=fopen($uncompfilename,'rb');  
$uncompresscontents=fread($fp,filesize($uncompfilename));  
fclose($fp);  
//uncompress file  
$uncompressing = gzuncompress($uncompresscontents);  
//write to file  
$fp = fopen('uncompressed/uncompressed'.$number_input.'.bin', 'wb');  
 fwrite($fp, $uncompresscontents);  
fclose($fp);

【问题讨论】:

    标签: php zlib gzip compression


    【解决方案1】:

    gzcompress 采用可选的第二个参数设置压缩级别,从 0 到 9。您将其设置为 0(无压缩),您应该使用 int,而不是字符串:

    你有gzcompress($contents, '0');

    你想要gzcompress($contents, 9);

    来自php.net/gzcompress

    压缩级别。可以为 0 表示无压缩,最高为 9 以获得最大的压缩率。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 2010-12-14
      • 2010-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-09-01
      • 1970-01-01
      相关资源
      最近更新 更多