PHP:从gunzip编写文件

PHP:从gunzip编写文件,php,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.' > '.$dst

我从包含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文件?

使用zlib扩展名:


问题在于您使用的是
escapeshellcmd
。如果选择,您将看到您的转义命令如下所示:

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

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

这应该是一个注释,因为它实际上不是一个答案。我不同意。PHP文档上的用户说明包含随时可用的代码。他只需点击两下,滚动几下,粘贴一份即可使用的功能。