2010-10-20 73 views
2

我似乎無法得到此功能來刪除特定目錄中的所有文件和文件夾有人可以幫我解決這個問題嗎?如何使用PHP刪除文件夾的內容?

這是我的代碼。

$apps = 9; 
$dirname = './members/' . $apps . '/'; 
function delete_directory($dirname) { 
    if (is_dir($dirname)) 
     $dir_handle = opendir($dirname); 
    if (!$dir_handle) 
     return false; 
    while($file = readdir($dir_handle)) { 
     if ($file != "." && $file != "..") { 
     if (!is_dir($dirname."/".$file)) 
      unlink($dirname."/".$file); 
     else 
      delete_directory($dirname.'/'.$file);  
     } 
    } 
    closedir($dir_handle); 
    rmdir($dirname); 
    return true; 
} 
+1

當您嘗試運行它時會發生什麼?你遇到什麼錯誤?用戶的PHP腳本是否具有刪除文件的權限? – ceejayoz 2010-10-20 13:35:57

+0

是的,我有權限,但沒有任何反應,沒有錯誤沒有什麼。 – HELP 2010-10-20 13:36:51

+0

你的功能看起來不錯..你確定你正在**調用**吧? – codaddict 2010-10-20 13:40:45

回答

2

你的函數看起來不錯。

我猜你是不是調用它正確。一種稱呼它的方式是:

$apps = 9; 
$dirname = './members/' . $apps . '/'; 
delete_directory($dirname); 

function delete_directory($dirname) { 
..... 
0

初始目錄是否應該有斜線?

$dirname = './members/' . $apps; 
+0

這很好。你可以在路徑中有任意數量的連續的'/'。例如:''foo/bar「'與'」foo /////// bar「'相同 – codaddict 2010-10-20 13:46:43

1
function EmptyDir($dir) 
{ 
    $handle=opendir($dir); 
    while (($file = readdir($handle))!==false) { 
     unlink($dir.'/'.$file); 
    } 
    closedir($handle); 
} 

EmptyDir('yourdir'); 
相關問題