使用PHP更改文件权限
我试了很多方法,但还是不明白使用PHP更改文件权限,php,permissions,chmod,Php,Permissions,Chmod,我试了很多方法,但还是不明白 function permission($proj,$mod){ $dir = "../../../".$proj."/mod/".$mod.""; var_dump($dir); echo substr(sprintf('%o', fileperms($dir)), -4); $change = chmod($dir,0664); var_dump($change); echo substr(sprintf('%o', fileper
function permission($proj,$mod){
$dir = "../../../".$proj."/mod/".$mod."";
var_dump($dir);
echo substr(sprintf('%o', fileperms($dir)), -4);
$change = chmod($dir,0664);
var_dump($change);
echo substr(sprintf('%o', fileperms($dir)), -4);
}
所以$change返回布尔值True,这意味着一切正常,但文件在开始时具有0777访问权限,在结束时仍然具有0777权限。。。我做错了什么?
$dir=“../../../”$proj./mod/“$mod.”代码>。最后加上报价。您也可以直接在双引号内使用变量。@Christian已经尝试过了,即使使用“/”也一样……您可能需要先更改文件的umask。因此,尝试使用$oldmask=umask(0)包装chmod行代码>然后umask($oldmask)代码>@Andy我试着去伪装,但还是没什么,也许我用错了去伪装?在这种情况下,你能给我看一个我必须如何解开它的例子吗?@Dest对不起,我添加了我的评论,但没有提供详细信息-更新了两行,你可以尝试在chmod行周围换行。$dir=“../../../../.”$proj./mod/“$mod.”代码>。最后加上报价。您也可以直接在双引号内使用变量。@Christian已经尝试过了,即使使用“/”也一样……您可能需要先更改文件的umask。因此,尝试使用$oldmask=umask(0)包装chmod行代码>然后umask($oldmask)代码>@Andy我试着去伪装,但还是没什么,也许我用错了去伪装?在这种情况下,你能给我举个例子,说明我必须如何解开它吗?@Dest对不起,我添加了我的评论,但没有详细说明-更新了两行,你可以尝试在chmod行周围加上这两行。