我正在尝试使用RecursiveDirectoryIterator
和RecursiveIteratorIterator
php类来构建一个递归设置给定路径的文件或/和目录权限的函数。但事情似乎不起作用,所以我很乐意接受你的帮助。谢谢!
function rSetPerms($path ,$filemode = '0644', $foldermode = '0705')
{
if(!is_dir($path) and !file_exists($path)) return false;
$paths = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST);
foreach ($paths as $item) {
if ($item->isDir())
{
if (!@ chmod($item->__toString(), octdec($foldermode))) return false;
}
else
{
if (!@ chmod($item->__toString(), octdec($filemode))) return false;
}
}
return true;
}
答案 0 :(得分:0)
你应该记住,你的php脚本需要以root身份执行才能chmod文件。
您也可以使用sudo chmod -R
以递归方式将chmod应用于目录及其子目录中的文件。