php遍歷一個文件夾內的全部文件和文件夾,並刪除全部文件夾和子文件夾下的全部文件的
代碼,經過遞歸方式實現達到清空一個目錄的效果,代碼簡單實用。php
也適合在thinkphp中清理緩存,在thinkphp中能夠把下面代碼寫入./Application/Admin/Common/function.php文件中,再在控制器調用這個函數進行清理操做。thinkphp
用到的函數:數組
scandir($path) 遍歷一個文件夾全部文件並返回數組。 unlink($filename) 刪除文件。 rmdir($path) 只刪除空文件夾
<?php //設置須要刪除的文件夾 $path = "./Application/Runtime/"; //清空文件夾函數和清空文件夾後刪除空文件夾函數的處理 function deldir($path){ //若是是目錄則繼續 if(is_dir($path)){ //掃描一個文件夾內的全部文件夾和文件並返回數組 $p = scandir($path); foreach($p as $val){ //排除目錄中的.和.. if($val !="." && $val !=".."){ //若是是目錄則遞歸子目錄,繼續操做 if(is_dir($path.$val)){ //子目錄中操做刪除文件夾和文件 deldir($path.$val.'/'); //目錄清空後刪除空文件夾 @rmdir($path.$val.'/'); }else{ //若是是文件直接刪除 unlink($path.$val); } } } } } //調用函數,傳入路徑 deldir($path);