PHP获取目标路径的文件目录
PHP获取目标路径(图片目录)的文件目录的原生代码,
写出来后发现还有很大的优化空间,但由于是练手的作品没再深入修改,
但这几天都有同学问我这个问题,所以决定开通博客,并在此献丑,
若有更优方法,也请各位不吝斧正!
闲话少说,代码如下:
';
$str.=$this-> Dloop($val,$newpath,$spaces,$spaces);
}
else{
//$str .= '这里写入树';
if(stripos($key,'.jpg')||stripos($key,'.jpeg')){
$fn=''.$key;
}
elseif(stripos($key,'.gif')){
$fn=''.$key;
}
elseif(stripos($key,'.png')){
$fn=''.$key;
}
else{
$fn=''.$key;
}
$kb=round(filesize($path.$key)/1024)."k";
$str.='
';
}
}
return$str;
}
}
?>
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
classfiles{
protectedfunctionrefiles($path){
if(file_exists($path)){
$ref= scandir($path,1);
foreach($refas$val){
if($val=='.'||$val=='..'){
continue;
}
$arr[$val] =is_dir($path.$val)?'folder':'img';
}
}
else{
$arr= false;
}
return$arr;
}
protectedfunctionreall($arr,$path){
foreach($arras$key=>$val){
if($val=='folder'){
$newpath=$path.$key."/";
$temps=$this->refiles($newpath);
if($temps){
$newtemp=$this->reall($temps,$newpath);
$arr[$key] =$newtemp;
}
else{
$arr[$key] ='null';
}
}
}
return$arr;
}
/**
* 函数名称:allfiles()
* 函数作用:取得指定路径下的所有目录
* 参数说明:$path:指定的路径
* 返 回 值:$result 目录数组 or false
*/
publicfunctionallfiles($path){
$allfiles=$this-> refiles($path);
if($allfiles){
$newallfiles=$this-> reall($allfiles,$path);
$allfiles=$newallfiles;
}
return$allfiles;
}
/**
* 函数名称:Dloop()
* 函数作用:双层循环取得结构树
* 参数说明:$path:指定的路径
* 返 回 值:$result 目录数组 or false
*/
publicfunctionDloop($arr,$path,$space=0,$spaces=0){
foreach($arras$key=>$val){
if(is_array($val)){
$spaces+= 15;
$newpath=$path.$key."/";
$str.='
'.$key.' '.$kb.'
'.$fn.' '.$kb.'
本文来源:https://www.fushouyu.com/shouyou/195.html