删除目录和所有文件

时间:2014-10-17 01:43:38

标签: php file directory copy unlink

我使用以下行在我的服务器上创建目录:

mkdir("/var/www/cache/$directory", 0700);

然后我使用以下方法将一些文件复制到其中:

copy($remote, $local);

现在我试图用这个删除目录及其所有文件,但它不起作用:

$local = "/var/www/cache/$directory";
$removed = unlink($local);

无论如何使用单线而不是for循环还是这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用php中的RecursiveIteratorIterator类来完成此操作。

here的一个简单示例是

$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);

foreach ($files as $fileinfo) {
$todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink');
$todo($fileinfo->getRealPath());
}

rmdir($dir);

有许多方法也被描述为here ..