[英]Adding all subdirectories to a zip archive
在這種情況下,我試圖將所有文件和子目錄添加到我的 zip 文件中。
$zip = new ZipArchive;
$zip->open('wordpress.zip', ZipArchive::CREATE);
// Adding all files
foreach (glob(CLIENT_PATH . "/*.*") as $file) {
$filename = substr($file, strrpos($file, '/') + 1);
echo $filename . '<br>';
$zip->addFile($file, 'wordpress/wp-content/themes/' . $title . '/' . $filename);
}
// Adding all subdirectories
$directories = glob(CLIENT_PATH . '/*' , GLOB_ONLYDIR);
foreach (glob(CLIENT_PATH . '/*', GLOB_ONLYDIR) as $dir) {
$zip->addEmptyDir('wordpress/wp-content/themes/' . $title . '/' . $dir);
}
$zip->close();
添加所有文件效果很好,但添加所有子目錄不會按預期工作。
這是我的解壓縮文件的樣子:
我的主目錄的子目錄稱為assets
,它還包括更多的子目錄,它們也有一些子目錄。 但正如您在上圖中看到的, assets
什么都不包含。 而且,我不明白為什么它以 home/pomcanys/ etc. 而不是assets
開頭。
我怎樣才能解決這個問題? 任何幫助,將不勝感激!
要自動包含子目錄中的文件,請使用 -r 遞歸參數:
zip -r foo.zip *
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.