2015-12-02 35 views
0

在PHP中,我可以通过创建一个zip文件:添加现有的文件夹的内容压缩PHP

$zip = new ZipArchive(); 
$zipname = "somename" . '.zip'; 
$zip->open($zipname, ZipArchive::CREATE | ZipArchive::OVERWRITE); 

和文件添加到它与

$zip->addFile($pathtodir."filename.bla", "filenameinzip.bla"); 

或我可以添加一个空文件夹它与:

$zip->addEmptyDir("foldername"); 

但是,有没有办法添加一个文件夹,它已经存在,并有一个zip文件的子内容直接?

重要提示:其他线程中的解决方案仅将该文件夹中的文件直接添加到zip,而不是文件夹本身。我想保留这个结构,这意味着该文件夹也应该在zip文件中,而不仅仅是它的子内容。像:

zipname.zip/foldername/filenameinzip.bla 
+0

有关于如何做的例子,在附加功能的评论:HTTP:// PHP。 net/manual/en/ziparchive.addfile.php –

+1

[如何使用PHP压缩整个文件夹]可能的重复(http://stackoverflow.com/questions/4914750/how-to-zip-a-whole-folder-使用-php) –

+0

@GeraldSchneider:我已经在阅读之前写过这个问题,但是线程中的答案直接将文件添加到zip中,而没有文件夹本身。 – yangsunny

回答

0

有你所需要的:
1 - other ask in stackoverflow
2 - php documentation

+0

这应该是一个评论,而不是一个答案。 –

+1

对不起,我不能发表评论,我必须有50个代表。我必须删除它? – ElFranchoute

+0

这两个解决方案只添加目录中的文件到压缩文件,而不是文件所在的文件夹。多数民众赞成我的意思是“重要” – yangsunny

相关问题