如何用PHP检查文件属性是否可读、可写、可执行
Admin 2022-11-16 群英技术资讯 763 次浏览
在进行文件读写等操作时,需要先检查一下该文件是否可以读写或执行,即文件是否可读、可写、可执行的权限。那么如何检查呢?
我们有一个名为“test.txt”的文本文件,使用chmod()函数来设置权限:
chmod("test.txt", 0400);
上面的代码可设置test.txt文件权限为:所有者可读,其他人无权限。
下面我们来看看如何检查文件是否可读、可写、可执行的方法。
1、使用is_readable()函数检查文件是否可读
is_readable()函数可检查指定的文件是否可读;该函数只接受一个参数$filename
,用来指定需要检查的文件。
下面通过代码示例来看看:
header("Content-type:text/html;charset=utf-8"); $file = "test.txt"; if(is_readable($file)) { echo ("$file 可读"); } else { echo ("$file 不可读"); }
如果$filename
文件存在且可读取数据,则返回 TRUE,否则返回 FALSE。因此输出结果为:
test.txt 可读
2、使用is_writable()函数检查文件是否可写
is_writable()函数可检查指定的文件是否可写。
该函数同样接受一个参数$filename
,用来指定需要检查的文件;如果$filename
文件存在且可读取数据,则返回 TRUE,否则返回 FALSE。
下面通过代码示例来看看:
header("Content-type:text/html;charset=utf-8"); $file = "test.txt"; if(is_writable($file)) { echo ("$file 可写"); } else { echo ("$file 不可写"); }
输出结果:
test.txt 不可读
3、使用is_executable()函数检查文件是否执行
is_executable()函数可检查指定的文件是否可执行;该函数也接受一个参数$filename
。
header("Content-type:text/html;charset=utf-8"); $file = "test.txt"; if(is_executable($file)) { echo ("$file 可执行"); } else { echo ("$file 不可执行"); }
如果$filename文件存在且可读取数据,则返回 TRUE,否则返回 FALSE。因此输出结果为:
test.txt 不可执行
说明:
is_readable()、is_writable()和is_executable()函数的结果会被缓存,需要使用clearstatcache()函数来清除缓存。
在程序末尾加上下面一句代码即可清除缓存:
clearstatcache();
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
今天小编就为大家分享一篇解决PHP使用CURL发送GET请求时传递参数的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
swoole提供了类似JavaScript的setInterval/setTimeout异步高精度定时器,粒度为毫秒级。用法:$server->tick(1000, function() use ($server, $fd) {});。
在thinkphp中,L方法用于启用多语言的情况下,设置和获取当前的语言定义,设置语言定义的语法为“L('LANG_VAR','语言定义');”,获取语言定义的语法为“$langVar = L('LANG_VAR');”。
<?phpheader("Content-Type:text/html;charset=utf-8");//字符串过滤函数://1.n12br在所有新行之前插入Html换行标记。//单独的\r或\n,以及他们的组合\r\n都会转换成一次换行标记。//例:/*$str="This\nis\rmy\r\nhome";echonl2br($str);*//*输出:This
swoole监听redis数据的方法:首先在“App\Events”目录下新建“RedisTest”事件;然后添加监听事件代码;接着在“/etc/supervisor/conf.d”文件夹下新建“echo.conf”;最后执行命令重载即可。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008