Удаление папки внутри папки после архивации и удаления некоторых файлов - PullRequest
0 голосов
/ 06 февраля 2011

Это дополнительный вопрос после моего вопроса .

Folder
  subfolders
  imagefolder
  important.txt
  index.txt

У меня есть подпапка, Как заархивировать Folder, затем удалить все файлы, включая все папки в Folder, за исключением important.txt?

Из предыдущего поста . Я получил это:

$zipFile = "./testZip.zip";
$zipArchive = new ZipArchive();

if (!$zipArchive->open($zipFile, ZIPARCHIVE::OVERWRITE))
    die("Failed to create archive\n");

$zipArchive->addGlob("./*.txt");
if (!$zipArchive->status == ZIPARCHIVE::ER_OK)
    echo "Failed to write files to zip\n";

$zipArchive->close(); 

Но он дал мне такой вывод: testZip.zip создан, но содержит только файл: important.txt тогда подпапки не удаляются.

1 Ответ

0 голосов
/ 06 февраля 2011

Если вы используете решение, которое я разместил в другом вопросе, и замените вызов exec ('rm ...') на

exec('find Folder -mindepth 1|grep -v important.txt|xargs rm -r');

, тогда он удалит все файлы, кроме важных.txt в «Папке».

...