首頁  >  文章  >  後端開發  >  如何使用php中的rmdir函數刪除目錄文件

如何使用php中的rmdir函數刪除目錄文件

不言
不言原創
2019-01-10 17:48:503308瀏覽

php刪除目錄需要用到的函數是rmdir,rmdir是刪除指定目錄的函數,是常用函數,這篇文章我們就來看看rmdir函數的具體用法。

如何使用php中的rmdir函數刪除目錄文件

我們先來看看rmdir函數的基本語法

將目錄名稱(目錄的路徑)傳遞為參數。

rmdir(目录名称);

如果因為沒有指定目錄而無法刪除目錄,請注意將發生e_warning等級錯誤。

此外,如果在rmdir中指定的目錄內存在檔案或其他目錄,則在rmdir中無法刪除指定的目錄。

執行此操作時,必須清空指定的目錄一次,然後使用rmdir再次刪除該目錄。

如何使用rmdir函數?

我們來看具體的範例

mkdir('sample');
if (is_dir('sample')) {
    $files = array_diff(scandir('sample'), array('.','..'));
    if (empty($files)) {
        echo "删除目录:sample\n";
        rmdir('sample');
    }
}

在範例程式中,首先使用mkdir函數建立範例目錄。

在實際執行rmdir函數之前,必須檢查「指定目錄的存在」「指定的目錄是否為空」。

如果不這樣做,可能會在執行rmdir函數時導致錯誤。

刪除非空白目錄

如果在rmdir中指定的目錄內存在檔案或其他目錄,則在rmdir中無法刪除指定的目錄。

因此,如果要刪除非空目錄,則必須刪除指定目錄中的所有其他目錄和文件,然後使用rmdir函數再次刪除它們。

我們來看具體範例

//
function remove_directory($dir) {
    $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
//
        if (is_dir("$dir/$file")) {
//
            remove_directory("$dir/$file");
        } else {
//
            unlink("$dir/$file");
            echo "目录:" . $dir . "/" . $file . "删除\n";
        }
    }
//
    echo "目录:" . $dir . "删除\n";
    return rmdir($dir);
}
//
//
mkdir('test1');
mkdir('test1/test2');
touch('test1/test2/test3');
//
//
remove_directory('test1');

在範例程式中,我們先定義一個名為remove_directory的函數。

此remove_directory函數檢查指定目錄的內容,如果沒有內容則刪除指定的目錄,如果有內容則根據內容變更處理。

在第三行中,您將獲得指定目錄中的文件組(另一個目錄和文件),對於第4行到第14行中的每個文件組,使用unlink函數刪除文件如果是目錄,請再次呼叫remove_directory函數。

最後,在第17行,刪除使用rmdir函數變成空的指定目錄。

在第20-23行建立非空目錄。

第26行使用remove_directory函數刪除非空的目錄。

以上是如何使用php中的rmdir函數刪除目錄文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn