PHP:从gunzip写入文件

时间:2014-11-25 09:42:14

标签: php

我从包含xml的FTP服务器获取一个gzip压缩文件。我想将其压缩并将xml写为文件。

这是我现在正在使用的代码:

ftp_get($ftpCon, __DIR__."/../files/data.gz", $val, FTP_BINARY);

$srcName = __DIR__."/../files/data.gz";
$dstName = __DIR__."/../files/stuff.xml";
$command = 'gunzip -c '.$srcName.' > '.$dstName;
$escapedCommand = escapeshellcmd($command);

system($escapedCommand);

但XML文件将在控制台上打印出来而不会写入文件。如何将压缩文件中的数据写入XML文件?

2 个答案:

答案 0 :(得分:1)

问题在于您使用escapeshellcmd。如果您look at this example,您会看到您的转义命令如下所示:

gunzip -c from/data.gz \> to/stuff.xml

但是你不希望>被转义。由于您可以完全控制命令的其余部分,因此请尝试仅转义文件名(如果他们像您的示例中那样硬编码,则不必这样做。)

答案 1 :(得分:0)

使用zlib扩展名: