2011-02-06 29 views
0

これは私のquestionのフォローアップの質問です。いくつかのファイルを圧縮して削除した後にフォルダ内のフォルダを削除する

Folder 
    subfolders 
    imagefolder 
    important.txt 
    index.txt 

私はその後、Folderimportant.txtを免除内のすべてのフォルダを含むすべてのファイルを削除し、Folderを圧縮する方法、サブフォルダを持っていますか?

previous postより。私はこれを持っている:

$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 その後、サブフォルダが削除されません。

+0

私のアプローチを試しましたか?シェル( 'rm -r Folder/subfolders')も追加する必要があります。サブフォルダを削除します。非常に素朴なアプローチですが、フォルダの内容を変更しない限り非常に堅牢です。 –

+0

これは問題ですが、フォルダの内容が変更されているため、私はあなたのメソッドを使用できません。一貫性のないファイルです.. important.txtを除いて – woninana

+0

私はこの問題がない答えを追加しました。 –

答えて

0

あなたは私はあなたの他の質問に投稿されたソリューションを使用するとexecを交換した場合(「RM ...」)それは「フォルダ」にimportant.txt以外のすべてのファイルを削除します

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

で呼び出します。

関連する問題