2013-04-10 40 views
0

好的,让我解释一下。我在我的服务器上有两个文件夹,假设他们被称为f1 /和f2 /。 这两个文件夹都有几个文件。我想ZipArchive这两个文件夹。但是,我能做的最好的事情是让.zip包含这两个文件夹。我想要的是将f1 /和f2 /中的所有文件和文件夹都归档,并将.zip的根目录中的f1 /和f2 /的内容,而不是两个文件夹。PHP,不同的目标文件添加到.zip?

这是我目前使用,其中,就像我说的,没有做什么代码,我想:

$zipname = 'ZipArc.zip'; 
$zip = new ZipArchive; 
$zip->open($zipname, ZipArchive::CREATE); 
foreach ($array as $file => $value) 
{ 
    $zip->addFile("f1/" . $file . ".ini"); 
} 

$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("f2/Data/")); 
    foreach ($iterator as $key=>$value) { 
     $zip->addFile(realpath($key), $key); 
    } 
} 
$zip->close(); 

我找啊找,但我似乎不能打正确的关键字来寻找解决方案。

回答

0

阅读文档更接近:http://php.net/manual/en/ziparchive.addfile.php

bool ZipArchive::addFile($filename, $localname, ....) 
            ^^^^^^^^^^ 

所以

$zip->addFile('/real/path/on/your/server/file.txt', '/path/within/zip/foo.bar'); 
+0

你介意后退一点了吗?我要去面对自己这么难受的冲击波可能会杀了你。谢啦。 – 2013-04-10 18:03:17