1

でディレクトリを削除するにはどうすればよいrmdirですか?

ディレクトリは空ですが、削除/削除できません。

$root_dir = "C:/xampp/htdocs/";    
$dir = $root_dir.'tmp/';    
rmdir($dir);
4

3 に答える 3

2

しばらくの間私を驚かせた重要な考慮事項:chdir()削除したいディレクトリに入っていないことを確認してくださいchdir()。Windows では現在の作業ディレクトリを削除できません。

于 2015-10-31T23:14:40.883 に答える
1
function removedir($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
            {
                $a=$dirname.'/'.$file;
                removedir($a);
            }
        }
    }
    closedir($dir_handle);
    rmdir($dirname);
    return true;
}
于 2012-12-11T09:53:02.513 に答える
1

アクセス許可が問題にならない場合は、tmp ディレクトリにファイルが含まれている可能性があります。rmdir は、空のディレクトリのみを削除します。この関数を使用して、ディレクトリ + すべてのファイルを削除します。

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

http://us3.php.net/manual/en/function.rmdir.php#91797を参照してください:)

于 2012-12-11T09:54:57.923 に答える