PHP 文件权限
时间:2018-11-15 15:08:46 来源:igfitidea点击:
在本教程中,我们将学习如何处理PHP文件权限,包括检查和更改文件权限。
文件权限指定您可以对系统中的特定文件做什么,例如,读取、写入或执行文件。
注意,PHP自动在后台授予适当的权限。例如,如果您创建一个用于写入的新文件,PHP将自动授予您读写权限。
此外,PHP还提供了一些有用的函数来检查和更改文件权限。
PHP检查文件权限
PHP提供了三个有用的函数,方便你检查文件权限:
- is_readable()如果你有权限读取文件,则返回true,否则返回false。
- is_writeable()如果你有权限写入文件,则返回true,否则返回false。
- is_executable()如果允许您执行文件,返回true,否则返回false。
让我们看例子:
<?php $fn = './test.text'; $msg = is_readable($fn) ? $msg = '文件可读': $msg = '文件不可读'; echo $msg . '<br/>'; $msg = is_writable($fn) ? $msg = '文件可写' : $msg = '文件不可写'; echo $msg . '<br/>'; $msg = is_executable($fn) ? $msg = '文件是可执行的' : $msg = '文件是不可执行的'; echo $msg . '<br/>';
除了这些函数之外,PHP还提供了fileperms()函数,该函数返回一个整数,该整数表示在特定文件上设置的权限。
<?php $fn = './test.txt'; $fp = fileperms($fn); echo substr(sprintf('%o', $fp), -4); //0666
PHP更改文件权限
要更改文件权限或模式,可以使用chmod()函数。
首先,需要传入要设置权限的文件的名称。其次,需要指定所需的权限。
如果权限设置成功,chmod()函数将返回true,否则将返回false。
文件权限由包含三个数字的八进制数表示:
第一个数字指定文件的所有者可以对文件做什么。
第二个数字指定文件的所有者组可以对文件做什么。
第三位数字指定每个人可以对文件做什么。
下表说明了代表特定用户(用户、用户组或每个人)访问权限的每个数字的值:
值 | 权限 |
---|---|
0 | 读写执行权限都没有 |
1 | 只能执行 |
2 | 只能写 |
3 | 能够写和执行 |
4 | 只读 |
5 | 可以读和执行 |
6 | 可以读写 |
7 | 可以读写和执行 |
例如,要设置一个权限,只有创建者或所有者可以读写文件,其他人只能读取文件,我们可以使用以下代码:
<?php $fn = './test.txt'; chmod($fn, 0644);
注意,我们将0放在644之前,要求PHP将其解释为八进制数。