2014-10-17 185 views
0

我用下面的行创建我的服务器上的目录:在使用本删除目录及所有文件中

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

然后我复制一些文件到它:

copy($remote, $local); 

现在我尝试删除目录及其所有与此文件,但它不会工作:

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

有反正有一个-l来做到这一点iner而不是for循环或这样的?

回答

0

你可以用RecursiveIteratorIterator在php中做这个。

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太..

相关问题