2011-11-12 10 views
1

可能性の重複:私は、異なるフォーマットの4枚の画像を保存する必要があるサイトで働いています
How do I recursively delete a directory and its entire contents (files+sub dirs) in PHP?
PHP: delete directory with files in it?その中のすべてのファイルとディレクトリを削除

指定したフォルダにディレクトリを作成します。私はディレクトリを作成し、そのディレクトリに画像を挿入しました。今私の問題は、すべての画像を含むディレクトリを削除できないということです。

は、どのように私は$realpath内の画像をすべて削除するだけでなく、ディレクトリ自体($directory)ん

$path = "offer_pic/"; 

$directory = $r2['shop_name']; 

$realpath=$path.$directory.'/'; 

、私が持っていると仮定しますか?

答えて

3

これは、それを行いますちょうどあなたが全体のサーバー削除しないように注意してください:あなたの応答をありがとう

$dir='your/directory'; 
exec('rm -rf '.escapeshellarg($dir)); 
+1

'escapeshellarg($ dir)'を逃すことを忘れないでください。 –

+0

これは* nixボックスでのみ動作することは言うまでもないでしょう。 – nickb

+0

こんにちは、ありがとうございます。実際には、私はa、b、c、dのようないくつかのディレクトリを持っている、Offerspicsというディレクトリを持っています。今、各ディレクトリに私は4つの画像があります。今私はすべての画像を削除することができますが、画像を削除した後、私は特定のディレクトリも削除する必要があります。例のように、ディレクトリのすべての画像を削除する必要がある場合、私はディレクトリも削除する必要があります。 – bid

0

悲しいことに、悲しいことに、少なくとも同じことをするためのループを書くことなく私に知られている方法はありません。私は、O.SSよりも確かに、ファイルを最初に削除してフォルダの削除を実行し、あらかじめ定義されたサブルーチンがあることを期待しています。 (MS DosのdelTreeのように、フォルダとその中のすべてのファイルを削除します)。

私の最善の選択肢は、以下のコードを関数に使用して、単に引数をフォルダ名として渡すことです。これらの変更を行い、delTree(C:\ Program Files)のような単純な呼び出しを実行して、フォルダ全体を削除する必要があります。 :)

$dir = 'your/directory/'; 
foreach(glob($dir.'*.*') as $v){ 
    unlink($v); 
} 
+0

こんにちは。実際には、私はa、b、c、dのようないくつかのディレクトリを持っている、Offerspicsというディレクトリを持っています。今、各ディレクトリに私は4つの画像があります。今私はすべての画像を削除することができますが、画像を削除した後、私は特定のディレクトリも削除する必要があります。例のように、ディレクトリのすべての画像を削除する必要がある場合、私はディレクトリも削除する必要があります。 – bid

関連する問題