PHP | chgrp 函数

Lasted 2020-12-16 16:20:43

chgrp 函数设置文件所属的组。

只有超级用户才能任意修改文件所属的组,其他用户只能将文件的组改成自己所在的组。

在 Windows 系统中调用 chgrp 函数会直接抛出警告 Can not call chgrp() for a non-standard stream

函数定义

chgrp(string $filename , mixed $group): bool
// 源文件位于:ext/standard/filestat.c
# 函数定义

PHP_FUNCTION(chgrp)
{
  php_do_chgrp(INTERNAL_FUNCTION_PARAM_PASSTHRU, 0);
}

...
#if !defined(WINDOWS)
/* On Windows, we expect regular chgrp to fail silently by default */
      php_error_docref(NULL, E_WARNING, "Can not call chgrp() for a non-standard stream");
#endif
...

参数

  • check$filename - 文件路径。
  • check$group - 所属组,可以是 int 型或者名称。

返回值

  • checkbool - 成功时返回 true,否则 false

示例1: - 使用 chgrp() 函数设置文件所属的组。

<?php
/**
 * PHP 使用 chgrp() 函数设置文件所属的组。
 *
 * @since Version 1.0.0
 * @filesource
 */

// 图片路径
$filename = "foo.txt";

echo "Group ID::".filegroup($filename).PHP_EOL;

// 设置文件的所属组
$ret = chgrp($filename, 983);
clearstatcache(); // do not cache filegroup() results
echo "Group ID::".filegroup($filename).PHP_EOL;
Group ID::1000
Group ID::983