PHP里文件的查找方式及写法
PHP里说的文件包括:文件和目录
1.用filetype方法加路径("./11.txt")是判断文件类型
//var_dump(filetype("./11.txt"));//判断文件类型.是文件返回:string 'file' (length=4)。如果返回string 'dir' (length=3)代表目录的意思、也就是文件夹
2.用is_dir("");判断是不是目录
//var_dump(is_dir("./22"));//判断文件是不是目录.是目录返回boolean true
//var_dump(is_dir("./11.txt"));//不是目录。不是返回boolean false
| 1 |
| 1 | <span style="font-size: 13px"><span style="color: #ff0000; font-size: 16px">3</span>. 文件属性</span> |
|
1
2
3
4
5
6
7
|
//echo date("Y-m-d H:i:s",fileatime("./11.txt")); //获取文件上次访问时间//echo date("Y-m-d H:i:s",filectime("./11.txt")); //文件的创建时//echo date("Y-m-d H:i:s",filemtime("./11.txt")); //文件的修改时间//echo filesize("./11.txt"); //文件大小//var_dump(file_exists("./12.txt")); //文件是否存在、这是不存在返回:boolean false//var_dump(file_exists("./11.txt")); //文件是否存在、这是存在返回:boolean true |
4.文件路径
./ 代表当前目录
../代表上级目录
/代表根目录
网页里面的根:代表www目录
php里面的根:代表磁盘目录
| 1 | echo $_SERVER['DOCUMENT_ROOT']; //获取当前服务器的根、运行结果D:/wamp/www/ |
| 1 | echo basename("../test.php"); //获取路径中的文件名,运行结果:test.php |
| 1 | echo basename("../test.php",".php"); //获取去掉后缀的文件名,运行结果:test |
| 1 | echo dirname("../test.php"); //获取路径中除去文件名的部分 |
| 1 | var_dump(pathinfo("../test.php")); //获取文件信息,返回数组 |
| 1 | echo realpath("../test.php"); //将相对路径转换为绝对路径 |
5.遍历目录
| 1 | var_dump(glob("./touxiang/*")); //返回目录下所有的文件 |

|
1
2
3
4
5
6
|
$attr = glob("./touxiang/*");foreach($attr as $v){ echo $v."<br>";}<br>运行: |

6. 获取某一个文件夹下所有文件的数量(包含文件夹)
该方法用来获取指定文件夹下文件的数量
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function ShuLiang($filename){ $attr = glob($filename."/*"); $n = count($attr); foreach($attr as $v) { if(is_dir($v)) { $n = $n+ShuLiang($v); } } return $n;}echo ShuLiang("\wamp\www\php\shanchuhechakan");<br>运行结果: |

这是文件的属性
|
1
2
3
4
5
6
7
8
9
|
$fname = "../shanchuhechakan";$dir = opendir($fname);//打开一个目录,返回目录资源while($url = readdir($dir)){ echo $fname."/".$url."<br>"; }closedir($dir);//关闭目录资源 |

7.例题:用递归。。。获取某一个目录下所有文件的大小
|
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
39
40
41
42
43
|
function Fsize($fname){ $size = 0; $dir = opendir($fname); //遍历目录,找到文件,累加大小 while($u = readdir($dir)) { if($u=="." || $u=="..") { } else { $zfname = $fname."/".$u; if(is_file($zfname)) { $size += filesize($zfname); } } } //找到子目录,获取子目录下文件大小 rewinddir($dir); while($u = readdir($dir)) { if($u=="." || $u=="..") { } else { $zfname = $fname."/".$u; if(is_dir($zfname)) { $size += Fsize($zfname); } } } closedir($dir); return $size;}echo Fsize("../shanchuhechakan"); |
| 1 | <br> |
浙公网安备 33010602011771号