我正在尝试使用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权限。
答案 0 :(得分:2)
确保在使用opendir()
后仍未打开目录。特别是在编写用于删除目录的递归函数时,请确保您有closedir()
BEFORE rmdir()
。
但是,在设置权限777
答案 1 :(得分:1)
也许您已经使用opendir()
或fopen()
打开了文件夹,然后您正在访问该文件夹,并且在打开文件夹时无法删除它们,或者您正在查看该文件夹。
当您将权限777
设置为足够时。