【问题标题】:Compress with gzip a created XML file使用 gzip 压缩创建的 XML 文件
【发布时间】:2013-10-16 16:18:59
【问题描述】:

为了创建 xml 文件,我使用 DOMObject。但是所有创建的 xml 文件都很大,会导致带宽过大。

这是我保存 xml 文件的方式

$xml->save($filename);

如何添加 gzip 压缩?

编辑: 这个 sn-p 不起作用,因为它会创建一个空文件

$gz = gzopen($filename,'w');
gzwrite($gz, $xml);
gzclose($gz);

【问题讨论】:

标签: php xml gzip


【解决方案1】:

这里只是一个 .zip 实现。

$file   = '...';
$folder = 'folder';

$zip      = new ZipArchive();
$fileName = "some_file.zip";

if ($zip->open($fileName, ZIPARCHIVE::CREATE)!==TRUE) {
     throw new Exception('Can not create zip file.');
}

$zip->addEmptyDir($folder);

if (file_exists($file)) {
    $zip->addFile($file, $folder . "/" . basename($file));
}

$zip->close();

【讨论】:

  • 我用 $xml->save('compress.zlib://' . $filename . '.gz'); 解决了它;
  • @Ronny Linsener:这是正确的方法,你会发现这个问题在这里得到了回答:How do you create a .gz file using PHP? - 因此我投票反对重复,以使关系更加紧密。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 1970-01-01
相关资源
最近更新 更多