题
我具有由一个cron即在ZIP64格式下载的文件。
如何使用PHP或经由一个PHP CMD其解压缩()?
解决方案
令人惊讶的Unix的解压只是工作!
exec(unzip -n -q zip-downloaded-by-cron.zip -d photos);
其他提示
这是我所知道的一对夫妇的选择。
如果您的PHP在Windows上运行,你可以使用COM接口 DotNetZip 。
$zipInput = "c:\\temp\\zip-downloaded-by-cron.zip";
$zip = new COM("Ionic.Zip.ZipFile");
$zip->Initialize($zipInput);
$dirForExtract= "c:\\temp\\extract";
# optional password
$zip->Password = "AES-Encryption-Is-Secure";
$zip->ExtractAll($dirForExtract);
$zip->Dispose();
有关DotNetZip,ZIP64自动使用在必要时,在压缩文件中读取数据时。
可替换地,可以调用设置有DotNetZip的命令行工具。
这有工作在Linux +单声道,除了Windows + .NET的优势。
该工具包含unzip.exe,你可以只调用(CMD)unzip.exe downloaded-zip.zip
。它会自动处理ZIP64的东西。上有包含unzip.exe选项来指定要提取,里面的文件解压,等等。
显然Perl的 IO::Compress::Zip
模块支持ZIP64。如果你足够的舒适安装它,你可以通过 shell_exec()
召唤小Perl脚本。
不隶属于 StackOverflow