我使用以下行在服务器上创建了一个目录:
mkdir("/var/www/cache/$directory", 0700);
然后我用这个复制了一些文件:
copy($remote, $local);
现在我正试图用这个删除目录及其所有文件,但它不会起作用:
$local = "/var/www/cache/$directory";
$removed = unlink($local);
有没有用一个内衬而不是for环之类的东西来做这件事?
您可以使用php中的RecursiveIteratorIterator
类来完成此操作。
就是一个简单的例子
$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);
这里也描述了许多方法。。