Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP更改文件权限_Php_Permissions_Chmod - Fatal编程技术网

使用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行周围加上这两行。