PHP 文件系统 lchgrp() 函数



PHP 文件系统lchgrp()函数用于更改符号链接的组所有权。此函数成功时返回 true,失败时返回 false。

重要提示

  • 它不适用于远程文件,因为它将通过服务器的文件系统访问。
  • 它也不适用于 Windows 平台。
  • 只有超级用户可以任意更改符号链接的组,其他用户可以将符号链接的组更改为该用户所属的任何组。

语法

以下是 PHP 文件系统lchgrp()函数的语法:

bool lchgrp ( string $filename , mixed $group )

参数

以下是lchgrp()函数的必需参数:

序号 参数和描述
1

$filename (必需)

这是符号链接的路径。

2

$gourp (必需)

这是新的组名或组号。

返回值

lchgrp()函数成功时返回 TRUE,失败时返回 FALSE。

PHP 版本

lchgrp()函数首次作为核心 PHP 5.1.3 的一部分引入,并且与 PHP 7 和 PHP 8 兼容。

示例

首先,我们将看到 PHP 文件系统lchgrp()函数的基本用法。假设我们在当前工作目录中有两个文件,名为 PhpTest.php 和 text.html。因此,我们将从“/PhpProject/test.html”创建指向“/PhpProject/PhpTest.php”的符号链接,然后将链接的组所有权更改为组 ID 8。

<?php
    $target = "/PhpProject/PhpTest.php";
    $link  = "/PhpProject/test.html";
    if(symlink($target, $link)) {
        echo "The symbolic link is created.\n";
    } else {
        echo "The symbolic link is not created.\n";
    }
    
    //Change the group owner of the symbolic link
    if(lchgrp($link, 8)){
        echo "The Group ownership is successfully changed.\n";
    } else {
        echo "The Group ownership can not be changed.\n";
    }
?> 

输出

以下是上述代码的输出:

The symbolic link is not created.
The Group ownership can not be changed.

示例

这是另一个基本演示,用于了解lchgrp()函数如何更改符号链接的组所有权。

<?php
    $target = "/home/user/documents/report.pdf";
    $link = "/home/user/shortcut_report.pdf";
    if (symlink($target, $link)) {
        echo "The symbolic link is created.\n";
    } else {
        echo "The symbolic link is not created.\n";
    }

    // Change the group owner of the symbolic link
    if (lchgrp($link, 1001)) {
        echo "The Group ownership is successfully changed.\n";
    } else {
        echo "The Group ownership cannot be changed.\n";
    }
?>

输出

以下是以下代码的结果:

The symbolic link is created.
The Group ownership is successfully changed.

总结

lchgrp()方法是用于更改符号链接所有权的内置函数。因此,本章提到的代码首先创建一个符号链接,然后尝试更改符号链接的组所有权。

php_function_reference.htm
广告