在 PHP 中刪除目錄可以使用 rmdir 函數。該函數會刪除指定的目錄,如果該目錄非空則無法刪除,需要先刪除其中的文件和子目錄。
以下是使用 rmdir 函數刪除指定目錄的示例代碼
$dir = '/path/to/dir'; // 要刪除的目錄路徑
if (is_dir($dir)) { // 如果目錄存在
$files = glob($dir . '/*'); // 獲取目錄下的所有文件和子目錄
foreach ($files as $file) {
if (is_file($file)) { // 如果是文件則直接刪除
unlink($file);
} else { // 如果是子目錄則遞歸調用自身
deleteDir($file);
}
}
rmdir($dir); // 刪除目錄
}上面代碼中使用了 is_dir 函數檢查目錄是否存在,使用 glob 函數獲取目錄下的所有文件和子目錄,使用 unlink 函數刪除文件,使用遞歸調用 deleteDir 函數刪除子目錄,最後使用 rmdir 函數刪除目錄。
需要注意的是,刪除操作是不可逆的,一定要謹慎操作。
<?php
// 定義要刪除的文件夾路徑
$dir = "/path/to/directory";
// 遞歸刪除非空文件夾
function deleteDirectory($dir) {
if (!file_exists($dir)) {
return true;
}
if (!is_dir($dir)) {
return unlink($dir);
}
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') {
continue;
}
if (!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
return false;
}
}
return rmdir($dir);
}
// 調用遞歸函數刪除文件夾
if (deleteDirectory($dir)) {
echo "文件夾刪除成功";
} else {
echo "文件夾刪除失敗";
}
?>