簡體   English   中英

將所有子目錄添加到 zip 存檔

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM