PHP可读可写操作

判断文件是否为可读可写。

is_dir()函数

属于Filesystem 函数,允许您访问和操作文件系统.is_dir()函数检查指定的文件是否是目录。

语法

1
is_dir(file)

file为必选项,填写规定要检测的文件。如果 file 是一个相对路径,则按照当前工作目录检查其相对路径。
注: 本函数的结果会被缓存。

opendir() 函数

属于Directory 函数opendir() 函数允许获得关于目录及其内容的信息。

语法

1
opendir(path,context);

path为必选项,规定要打开的目录路径。context为可选项。

readdir() 函数

属于Directory 函数readdir() 函数返回目录中下一个文件的文件名。

语法

1
readdir(dir_handle);

dir_handle为可选。当多个opendir(),则可指定之前由opendir() 打开的句柄资源。如果为指定,则使用最后一个由 opendir()打开的链接。

实例

打开一个目录,读取它的内容,然后关闭:

1
2
3
4
5
6
7
8
9
10
11
<?php
$dir = "D:\phpStudy\WWW";
if (is_dir($dir)){ //is_dir判断给定文件名是否是一个目录
if ($dh = opendir($dir)){ // 打开目录
while (($file = readdir($dh)) !== false){ //循环读取指定目录内容
echo "filename:" . $file . "<br>";
}
closedir($dh);//关闭
}
}
?>

结果:

is_writable()和is_readable()

属于Filesystem 函数,允许您访问和操作文件系统。is_writable() 函数判断指定的文件是否可写。is_readable() 函数判断指定文件名是否可读。

语法

1
2
is_writable(file)
is_readable(file)

file为必选项。规定要检查的文件。

实际应用中可以这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<form id="form1" name="form1" method="get" action="">
<label>
<div align="center">文件路径:
<input name="dir" type="text" placeholder="自定义检测路径" />
<input type="submit" name="Submit" value="检测" />
</div>
</label>
</form><label>
<div align="center">Author:<span class="STYLE1"><font color='red'> RcoIl</font></span></div>
<?php
header("content-Type: text/html; charset=utf-8");
function listDir($dir){ //定义listDir方法
if(is_dir($dir)){ // is_dir判断给定文件名是否是一个目录
if ($dh = opendir($dir)) { // 打开目录
while (($file= readdir($dh)) !== false){ //如果不为false,则循环读取指定目录列表
if((is_dir($dir."/".$file)) && $file!="." && $file!=".."){ // 去掉此行显示的是所有的非目录文件;"."表示当前目录;".."表示上级目录;
if(is_writable($dir."/".$file)&&is_readable($dir."/".$file)){ //判断文件夹是否可写可读
echo "<b><font color='red'>文件名:</font></b>".$dir.$file."<font color='red'> 可写</font><font color='Blue'> 可读</font>"."<br><hr>";
}else{
if(is_writable($dir."/".$file)){
echo "<b><font color='red'>文件名:</font></b>".$dir.$file."<font color='red'> 可写</font>"."<br><hr>";
}else{
echo "<b><font color='red'>文件名:</font></b>".$dir.$file."<font color='red'> 可读</font><font color='Blue'> 不可写</font>"."<br><hr>";
}
}
listDir($dir."/".$file."/");
}
}
}
closedir($dh);
}
}
//起头运行
if(isset($_GET['dir']))//检索
{
listDir($_GET['dir']);
}
?>

当然,这代码肯定不是原创的。

!坚持技术分享,您的支持将鼓励我继续创作!