首頁 > 後端開發 > PHP問題 > php怎麼刪除目錄

php怎麼刪除目錄

藏色散人
發布: 2023-03-13 15:02:01
原創
4717 人瀏覽過

php刪除目錄的方法:1、建立一個PHP範例檔案;2、找到需要刪除的目錄;3、使用rmdir()函數刪除指定的目錄即可。

php怎麼刪除目錄

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php怎麼刪除目錄?

PHP rmdir():刪除目錄

同普通檔案類似的,如果確認某個目錄已經不會被使用了,那麼就可以刪除這個目錄。在PHP 中可以使用rmdir() 函數來刪除指定的目錄,該函數的語法格式如下所示:

rmdir(string $dirname[, resource $context])
登入後複製

其中,參數$dirname 為要刪除的目錄路徑;$context 為可選參數,用來規定文件句柄的環境。

注意:使用 rmdir() 函數刪除指定目錄時,這個目錄必須是空的,而且要有對應的權限。函數執行成功時傳回 TRUE,執行失敗則傳回 FALSE,如果刪除不為空的目錄也會產生一個 E_WERNING 等級的錯誤。

【範例】使用 rmdir() 函數刪除指定的目錄。

<?php
    $dir = &#39;./test&#39;;
    if(is_dir($dir)){
        if(rmdir($dir)) echo &#39;目录删除成功!&#39;;
    }else{
        echo "目录不存在!";
    }
?>
登入後複製

執行上面的程式碼,首先要確定 test 目錄是空的,否則就會出現下面的錯誤:

Warning: rmdir(./test): Directory not empty in D:\WWW\index.php on line 4
登入後複製

如果要刪除一個不為空的目錄該怎麼做呢?我們可以遍歷這個目錄下的所有檔案和資料夾,並用遞歸的方式來逐一刪除這個目錄下的所有檔案和資料夾,下面就透過範例程式碼來示範以下:

<?php
    function deldir($path){
        //如果是目录则继续
        if(is_dir($path)){
            //扫描一个文件夹内的所有文件夹和文件并返回数组
            $p = scandir($path);
            //如果 $p 中有两个以上的元素则说明当前 $path 不为空
            if(count($p)>2){
                foreach($p as $val){
                    //排除目录中的.和..
                    if($val !="." && $val !=".."){
                        //如果是目录则递归子目录,继续操作
                        if(is_dir($path.$val)){
                            //子目录中操作删除文件夹和文件
                            deldir($path.$val.&#39;/&#39;);
                        }else{
                            //如果是文件直接删除
                            unlink($path.$val);
                        }
                    }
                }
            }
        }
        //删除目录
        return rmdir($path);
    }
    //设置需要删除的文件夹
    $path = "./test/";
    //调用函数,传入路径
    deldir($path);
?>
登入後複製

推薦學習:《 PHP影片教學

以上是php怎麼刪除目錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板