php chown、chmod、chgrp文件权限函数讲解

时间:2016-08-03
php chown、chmod、chgrp这三个函数分别用于改变文件的所有者、文件读写模式和文件所属的用户组,本文章向大家讲解php chown、chmod、chgrp函数的使用方法及实例,需要的朋友可以参考一下。

chown()函数

chown — 改变文件的所有者,成功时返回 TRUE, 或者在失败时返回 FALSE

参数:

bool chown ( string $filename , mixed $user )

尝试将文件 filename 的所有者改成用户 user(由用户名或用户 ID 指定)。 只有超级用户可以改变文件的所有者。

参数:

  1. filename  文件路径。
  2. user 用户名或数字。

实例:

<?php
chown('/tmp/myfile.txt','sklar');           // specify user by name
chgrp('/home/sklar/schedule.txt','soccer'); // specify group by name
/* http://www.manongjc.com/article/1300.html */
chown('/tmp/myfile.txt',5001);              // specify user by uid
chgrp('/home/sklar/schedule.txt',102);      // specify group by gid
?>

chmod()函数

chmod函数用于改变文件读写模式

语法:

bool chmod ( string $filename , int $mode )

尝试将 filename 所指定文件的模式改成 mode 所给定的。

参数:

  1. filename 文件的路径。
  2. mode 注意 mode 不会被自动当成八进制数值,而且也不能用字符串(例如 "g+w")。要确保正确操作,需要给 mode 前面加上 0。

实例:

<?
    chmod("/var/www/myfile.txt", 0777);
    chmod("/var/www/myfile.txt", 0755);

    if (chown("myfile.txt", "sally")) {
            print "File owner changed.\n";
    } else {
            print "File ownership change failed!\n";
    }
?>

chgrp()函数介绍

chgrp — 改变文件所属的组,成功时返回 TRUE, 或者在失败时返回 FALSE

语法:

bool chgrp ( string $filename , mixed $group )

尝试将文件 filename 所属的组改成 group(通过组名或组 ID 指定)。

只有超级用户可以任意修改文件的组,其它用户可能只能将文件的组改成该用户自己所在的组。

参数:

  1. filename 文件的路径。
  2. group 组的名称或数字。

实例:

<?php
     $dr = @opendir("/tmp/");
     if(!$dr) {
          echo "Error, couldn't open /tmp/!";
          exit;
     }

     while(($filename = readdir($dr)) !== false) {

          chown($filename, "php");
          chgrp($filename, "phpgroup");
     }
          closedir($dr);
?>