我有一个执行7-zip提取命令的PHP脚本。提取的文件名与压缩文件的名称不同。 7-zip命令行中是否有开关指定新提取的文件名?
如何将新提取的文件名存储在PHP变量中?
if (endsWith($currentFile, '.zip'))
{
$extractCMD = '7z e uploads\\' . $currentFile;
exec($extractCMD);
}
我想我必须为最近创建的文件做另一个exec()
,然后存储它。但必须有一个更简单的方法。
答案 0 :(得分:1)
您可以使用-o
指定输出目录,但这会添加一层深度:
7z x -oMyDir some_file.zip
例如,如果some_file
通常会输出到some_file/
,现在会输出到MyDir/some_file/
。
如果您只想知道档案中顶级目录的名称,那就更棘手了。您可以使用l
命令在提取之前获取文件列表:
7z l some_file.zip
但是你必须分析文件名以查看如果那么根本就有一个顶级目录。没有必要。