在PHP开发过程中,有很多情况下需要对文件进行操作(例如文件上传等),因而文件目录操作占有重要的地位。从本篇文章开始,我们通过一系列文章来聊聊php中的文件操作,从简单到难,和我一起开始学习吧。(本人还是一个在PHP大道上一点点探索的萌新,我们一起看《PHP视频教程》进行PHP学习吧,你想要的这里都有!)
好了,开始正文!
如标题所述,本文中心是聊聊文件模式。首先我们来简单了解一下PHP中文件模式。
在对一个文件进行操作前,我们首先第一步是打开这个文件;而打开文件时,就需要考虑如何使用它?要对打开的文件进行什么操作?即以什么模式打开(只读?只写?还是读写模式?)。
文件模式可以指定:一个文件打开之后,是否还允许其他脚本再打开,使用者(或脚本)是否具有在这种方式下使用该文件的权限。
在写入文件时,有几种情况:一种是清空文件原有内容并写入新数据(即覆盖所有已有的文件内容);一种是直接将新数据追加到文件末尾;另一种是在文件的开头插入新数据。
好了,上面我们简单的了解了PHP中的文件模式,下面我们来看看PHP如何改变文件模式?
在PHP中,我们可以通过内置函数chmod()
来改变文件模式,该函数可以更改指定文件的权限,可以将指定文件的模式更改为用户指定的特定模式。
chmod()函数可以接受两个参数:
$filename
和$mode
;其中,$filename
指定需要更改权限的文件,$mode
用于指定新的权限。
$mode
参数由四个数值组成,其中第一个值始终为零,第二个值指定所有者的权限,第三个值指定所有者的用户组的权限,第四个值指定其他所有人的权限。代表权限的数字有三个可能的值,要设置多个权限,可以使用下面的数字进行总计:
1 = 执行权限
2 = 写权限
4 = 读权限
例:
5 = 4 + 1 = 读取+执行权限
6 = 4 + 2 = 读取+写入权限
7 = 4 + 2 + 1 = 读取+写入+执行权限,即提供一切权限
下面我们通过代码实例来具体了解一下PHP内置函数chmod()是如何改变文件模式的。
实例1:设置所有者有读写权限,其他人不可以
<?php chmod("PHP.txt", 0600); ?>
可以看出:$mode
参数为“0600
”,只设置了所有者的权限为6(读写)。
输出:
TRUE
说明:当使用chmod()函数执行改变文件模式操作后,执行成功返回TRUE,失败返回FALSE。
实例2:设置所有者有读写权限,其他所有人只有读权限
<?php chmod("PHP.txt", 0644); ?>
输出:
TRUE
$mode
参数为“0644
”,则所有者权限为6(读写),所有者的用户组和其他所有人的权限为4(只读)。
实例3:设置所有者一切权限,其他所有人有读取+执行权限
<?php chmod("PHP.txt", 0755); ?>
输出:
TRUE
$mode
参数为“0755
”,则所有者权限为7(读取+写入+执行权限),所有者的用户组和其他所有人的权限为5(读取+执行权限)。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →PHP文件基础操作