2015-12-02 104 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

相關問題