这对大多数人来说可能是一个愚蠢的问题,但我有以下文件夹,我想压缩它。
FolderI
Folder1
Folder2
Folder3
..
..
FolderN
现在,由于在线资源如此之多,特别是这里,压缩FolderI
成一个zipFile.zip
非常容易!但是,我想创建zipFile.zip
,包含Folder1...FolderN
,这样当文件被解压缩时,它会直接用Folder1...FolderN
, 而不是create 填充当前目录FolderI
,其中包含Folder1...FolderN
。
我一直在尝试的一些事情是:
$zip = new ZipArchive();
// open archive
if ($zip->open('my-archive.zip', ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// initialize an iterator
// pass it the directory to be processed
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("FolderI/"));
// iterate over the directory
// add each file found to the archive
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
// close and save archive
$zip->close();
这是使用 php 脚本从compress/archive 文件夹中提取的,我试图改变它。但是没有用 - FolderI 仍然是压缩的。但是,当我解压缩时my-archive.zip
,我得到一个FolderI
然后Folder1..FolderN
在里面。我还在这里某处看到了来自@Alix 的代码,它做了同样的事情。但是,并没有真正关注太多。
任何形式的帮助都会很棒。如果不是代码,至少指出我正确的方向。
谢谢
****这里有人知道怎么做吗?****
@Mods 和管理员:解决方案是否太简单或 PHP 根本无法做到这一点?