php 获取文件权限的方法

180it 2021-05-18 PM 1774℃ 0条

php在操作文件时,有时候需要先获取文件的权限,用于检查文件是否可以进行修改编辑。那么今天飞鸟慕鱼就来说一下,php获取文件的权限的方法。

php fileperms() 函数介绍
fileperms():用于获取文件或文件目录的权限,用数字表示,如获取不到返回FALSE。

语法:

fileperms(filename)
复制
参数:

filename:要获取权限的文件或文件目录

注意:fileperms() 的结果会被缓存。请使用 clearstatcache() 来清理。

php 获取文件权限的方法
1、使用 fileperms() 获取文件的权限,返回结果经数字表示

php代码:

<?php
echo fileperms("test.txt");
?>
复制
返回结果:33206

2、PHP获取八进制的文件权限

php代码

<?php
//方法1
echo substr(base_convert(fileperms("test.txt"), 10, 8), 3);
//方法2
echo substr(sprintf('%o', fileperms("test.txt")), -4);
?>
复制
返回结果:0666

3、php获取文件权限制并以“-rw-r--r--”格式返回

php代码:

<?php
<?php
$perms = fileperms("text.txt");
switch ($perms & 0xF000) {

case 0xC000:
    $info = 's';
    break;
case 0xA000:
    $info = 'l';
    break;
case 0x8000:
    $info = '-';
    break;
case 0x6000:
    $info = 'b';
    break;
case 0x4000:
    $info = 'd';
    break;
case 0x2000:
    $info = 'c';
    break;
case 0x1000:
    $info = 'p';
    break;
default: 
    $info = 'u';

}
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x') : (($perms & 0x0800) ? 'S' : '-'));
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x') : (($perms & 0x0400) ? 'S' : '-'));
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x') : (($perms & 0x0200) ? 'T' : '-'));
echo $info;
?>
复制
返回结果:-rw-rw-rw-

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

php 获取文件权限的方法