我正在从包含xml的FTP服务器获得一个gzipped文件。我想对它进行压缩,并将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文件?
发布于 2014-11-25 09:52:53
问题在于您使用escapeshellcmd。如果使用看看这个例子,您将看到转义的命令如下所示:
gunzip -c from/data.gz \> to/stuff.xml但你不想让>逃脱。由于您完全控制了该命令的其余部分,所以只尝试转义文件名(如果它们是硬编码的,如您的示例所示)。
发布于 2014-11-25 09:49:48
使用zlib扩展:
https://stackoverflow.com/questions/27123256
复制相似问题