php--------刪除一個路徑下的所有文件夾和文件


php遍歷一個文件夾內的所有文件和文件夾,並刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現達到清空一個目錄的效果,代碼簡單實用。

也適合在thinkphp中清理緩存,在thinkphp中可以把下面代碼寫入./Application/Admin/Common/function.php文件中,再在控制器調用這個函數進行清理操作。

 

用到的函數:

    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);

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM