PHP检测文件属性函数的用法及实例
- 2022年11月11日
- 948 次
在我们日常建站安装程序的过程中,最基础的步骤就有检测服务器文件夹(目录)或者某一个文件是否有读写权限,而PHP中内置的也有不少检测文件属性的函数,常用的检测文件属性的函数有检测文件是否存在、文件目录是否可读、文件目录是否可写、是否是文件、是否是目录(文件夹)、文件是否可以执行等各种常用的目录和文件的属性检测函数,下面将逐一对这些PHP中检测目录、文件属性的函数进行记载并通过一个实例来加深对这些函数的理解和使用方法。
一、PHP检测文件属性的常用函数
在PHP中检测文件属性常用的函数通常内置的参数基本上都是文件名或者是目录的路径地址,返回的数据类型都是布尔型数据类型,以下记载的是日常开发中经常会使用到的PHP检测文件属性的函数。
1、检测文件、目录是否存在
bool file_exists ($指定文件名或者文件路径)
2、检测文件、目录是否可读
bool is_readable ($指定文件名或者文件路径)
3、检测文件、目录是否可写
bool is_writeable ($指定文件名或者文件路径)
4、检测文件、目录是否可执行
bool is_executable ($指定文件名或者文件路径)
5、检测是否是文件
bool is_file ($指定文件名或者文件路径)
6、检测是否是目录(文件夹)
bool is_dir ($指定文件名或者文件路径)
以上列举了6种常用的PHP中检测文件属性的函数语法格式,下面将使用以上这些检测文件属性的函数检测文件的各种属性。
二、PHP检测文件属性的实例代码块
<?php
$file = ['old.php','yufa/','img/','1.jpg','aria2.exe','install.php'];
foreach($file as $v){
if(file_exists($v)){
echo $v."\n".'文件存在'."\n";
if(is_dir($v)){
echo '这是一个目录'."\n";
if(is_readable($v) and is_writable($v)){
echo '目录可读可写';
}elseif(is_readable($v)){
echo '目录可读';
}elseif(is_writable($v)){
echo '目录可写';
}else{
echo '抱歉!该目录不可读写!';
}
}elseif(is_file($v)){
echo '这是一个文件'."\n";
if(is_executable($v)){
echo '这个文件可以执行';
}else{
echo '抱歉!本文件不可执行。';
}
}
else{
echo $v.'这既不是一个目录也不是一个文件';
}
}
else{
echo $v.'文件不存在';
}
echo '<br>';
}
?>
<?php
$file = ['old.php','yufa/','img/','1.jpg','aria2.exe','install.php'];
foreach($file as $v){
if(file_exists($v)){
echo $v."\n".'文件存在'."\n";
if(is_dir($v)){
echo '这是一个目录'."\n";
if(is_readable($v) and is_writable($v)){
echo '目录可读可写';
}elseif(is_readable($v)){
echo '目录可读';
}elseif(is_writable($v)){
echo '目录可写';
}else{
echo '抱歉!该目录不可读写!';
}
}elseif(is_file($v)){
echo '这是一个文件'."\n";
if(is_executable($v)){
echo '这个文件可以执行';
}else{
echo '抱歉!本文件不可执行。';
}
}
else{
echo $v.'这既不是一个目录也不是一个文件';
}
}
else{
echo $v.'文件不存在';
}
echo '<br>';
}
?>以上代码块执行结果截图:
在以上代码块中,同级目录下的一些文件和目录写入到了$files数组中,然后又在foreach循环中,使用if…elseif…else判断配合检测文件和目录属性函数,对数组内写入的文件和目录的属性进行判断,以上代码只是用于对检测文件属性函数的练习,条件判断写的还不够严谨。
以上通过对PHP检测文件属性常用函数的介绍,以及一个PHP检测文件属性的实例,再次巩固和加深了对这些文件、目录属性检测函数的认识和学习。
若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- 安装Chevereto图床配置数据库报错SQLSTATE[HY000] [1044] 2021-12-26
- PHP简单的内置日期函数有哪些?PHP年月日时分秒时间代码 2022-10-11
- PHP array_key_first() 和 array_key_last():获取数组首尾键名 2026-07-02
- Html中Form表单enctype属性有哪些?Form表单enctype的作用 2022-11-16
- PHP数组常用函数之删除新增元素的函数用法及实例代码 2022-10-25
- wordpress的robots.txt在哪儿?wordpress修改robots文件的方法 2022-09-22
