2014-10-17 253 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太..

相關問題