PHP fileperms函数返回文件类型异常:普通文件为何显示为符号链接?
PHP fileperms() 返回100666的原因解析
你搞混了Unix系统文件类型的标识规则,10开头的八进制值对应的就是普通文件,不是符号链接。
fileperms()返回的是完整的Unix文件模式位,它的结构规则如下:
- 前两位八进制数是文件类型标识:
10代表普通文件,12才是符号链接,04对应目录,这些是Unix系统的标准定义,并非你以为的0代表普通文件。 - 后三位八进制数
0666才是文件的权限位。
所以你得到的100666是完全正确的结果,正常情况下不会返回00666。
如果要直接确认文件类型,也可以用PHP的filetype()函数验证:
echo filetype('your-file.txt'); // 普通文件会输出 'file'
内容的提问来源于stack exchange,提问作者Ahmad Ahmad
相关产品推荐
相关产品推荐

