删除包含其中所有文件的目录

时间:2011-11-12 05:28:45

标签: php

  

可能重复:
  How do I recursively delete a directory and its entire contents (files+sub dirs) in PHP?
  PHP: delete directory with files in it?

我正在使用一个网站,我必须通过在指定文件夹中创建目录来存储四种不同格式的图像。我创建了目录并将图像插入其中。现在我的问题是我无法删除包含所有图像的目录。

假设我有,

$path = "offer_pic/";

$directory = $r2['shop_name'];

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

如何删除$realpath内的所有图片以及目录本身($directory)?

2 个答案:

答案 0 :(得分:3)

这样做,请注意不要删除整个服务器:

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

答案 1 :(得分:0)

嗯,遗憾的是,至少在没有编写循环的情况下,我没有任何方法可以做到这一点。我或多或少比O.S.s他们通过首先删除文件来自行删除文件夹,期望他们有一个预先定义的子程序来执行它。 (与MS Dos中的delTree一样,删除文件夹及其中的所有文件)。

我最好的选择是将下面的代码片段用到函数中,然后简单地调用它将参数作为文件夹名称传递。进行这些更改,您必须执行一个简单的调用,如delTree(C:\ Program Files)来删除整个文件夹。 :)

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