PHP递归删除目录和文件

function getDir($dir)
{
    //判断文件是否是目录
    if (!is_dir($dir)) {
        return '$dir不是一个目录';
    }
    if (!file_exists($dir)) {
        return '$dir 文件不存在';
    }
    //打开目录句柄
    $hander = opendir($dir);
    if (!$hander) {
        return '打开目录句柄失败';
    }
    //===================================================================
    //$hander_path = readdir($hander);
    //if ($hander_path === false) {
    //  return '从目录句柄中读取条目失败';
    //}
    //分开写是个死循环
    //===================================================================
    while ($hander_path = readdir($hander) !== false) {
        if ($hander_path != '.' && $hander_path != '..') {
            $filePath = $dir . '/' . $hander_path;
            //判断$filePath是文件还是目录
            if (is_dir($filePath)) {
                getDir($filePath);
            } 
            if (is_file($filePath)) {
                unlink($filePath);
            }
        }
    }
    closedir($hander);
    if (rmdir($dir)) {
        return '删除成功';
    } else {
        return '删除失败';
    }
}

$dir = __DIR__ . '/file';
print getDir($dir);

猜你喜欢

转载自blog.csdn.net/qq_41825819/article/details/81784457
今日推荐