由于权限,PHP删除dir无法删除

时间:2014-09-26 08:48:14

标签: php linux

我正在尝试使用PHP删除文件夹,但文件夹是chmod -R 777,这意味着当PHP尝试删除文件夹时,它会被拒绝权限。

这是我的删除功能:

    private function delTree($dir)
{
    $files = glob( $dir . '*', GLOB_MARK );
    foreach( $files as $file ){
        if( substr( $file, -1 ) == '/' )
            delTree( $file );
        else
            unlink( $file );
    }
    rmdir( $dir );
}

可以解决sudo问题吗?或者为PHP函数添加sudo权限。

2 个答案:

答案 0 :(得分:2)

确保在使用opendir()后仍未打开目录。特别是在编写用于删除目录的递归函数时,请确保您有closedir() BEFORE rmdir()。 但是,在设置权限777

时,您不需要sudo

答案 1 :(得分:1)

也许您已经使用opendir()fopen()打开了文件夹,然后您正在访问该文件夹,并且在打开文件夹时无法删除它们,或者您正在查看该文件夹。

当您将权限777设置为足够时。