Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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中的文件组(使用chgrp()更改)是什么?_Php_Windows_Chgrp - Fatal编程技术网

PHP中的文件组(使用chgrp()更改)是什么?

PHP中的文件组(使用chgrp()更改)是什么?,php,windows,chgrp,Php,Windows,Chgrp,我在谷歌上搜索了这些信息,但没有找到任何详细信息。我在读有关的,它提到这个函数可以更改文件组 没有关于文件组是什么的解释。我还试着在参考页面上运行这个示例,看看输出是否能帮助我更好地理解函数,但输出似乎只是数字零。下面是示例代码: $filename = 'stats.txt'; $format = "%s's Group ID @ : %d\n"; printf($format, $filename, filegroup($filename)); chgrp($filename, 10); c

我在谷歌上搜索了这些信息,但没有找到任何详细信息。我在读有关的,它提到这个函数可以更改文件组

没有关于文件组是什么的解释。我还试着在参考页面上运行这个示例,看看输出是否能帮助我更好地理解函数,但输出似乎只是数字零。下面是示例代码:

$filename = 'stats.txt';
$format = "%s's Group ID @ : %d\n";
printf($format, $filename, filegroup($filename));
chgrp($filename, 10);
clearstatcache(); // do not cache filegroup() results
printf($format, $filename, filegroup($filename));
下面是该代码的输出:

stats.txt's Group ID : 0
stats.txt's Group ID : 0

在unix中,文件所有权基于所有者和组

以下是linux机箱上的目录列表:

[vagrant@localhost:nginx]$ ls -l
total 8
drwxrwxrwx. 1 vagrant vagrant  136 Feb  5  2016 configs
-rwxrwxrwx. 1 vagrant vagrant 1348 Aug 19 07:34 docker-entrypoint.sh
-rwxrwxrwx. 1 vagrant vagrant  786 Feb  5  2016 Dockerfile
在本例中,docker-entrypoint.sh文件由名为“vagrant”的用户和名为“vagrant”的组拥有

然后将权限分配给3个单独的组之一:

  • 所有者权限
  • 组权限
  • 其他用户
您主要关注chgrp()函数,它只是linux api/命令的包装器

linux机箱上的组可以使用

cat/etc/group

每个条目末尾的编号为组号。您通常可以使用组名或组号来操纵组成员资格,因此在您的示例中,您显然显示了一个组号,但有一些组名与该组关联

[vagrant@localhost:nginx]$ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:

windows和unix/mac系统之间既有相似之处,也有不同之处,但它们并不是100%等同的。这是一个。

@MichaelBerkowski,所以,这个函数只对Unix文件系统有用?我在官方PHP文档中找不到明确说明这一点的地方,但据我所知,
chmod()、chown()、chgrp()
仅在PHP在类Unix系统(Linux、MacOS)下运行时可用或适用并且不适用于Windows。这可能有助于查找配件信息:
man chgrp
;chgrp在windows上的工作方式可能与chmod相同:–不,不要期望在*nix系统上得到相同的结果这是关于在windows下运行php的问题吗?如果是这样,你应该更新问题的标签。我还想问,为什么要在windows下运行php/webstack?在这个问题上的否决票是非常苛刻的。OP似乎在阅读PHP手册(很棒!),发现了一些他们不熟悉的东西,并进行了实验(很棒!),但结果令人困惑。这具有一个伟大问题的所有特征。