This repository has been archived by the owner on Feb 5, 2021. It is now read-only.
/
readDir.php
77 lines (68 loc) · 1.5 KB
/
readDir.php
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
<?PHP
/*
Helperfile for reading directories
2010-02-09
Stev Leibelt
*/
define('DEFAULT_DIR', '.');
define('FILE_SPACER', ' ');
readDir2();
function readDir2($dir = DEFAULT_DIR, $order = 0){
$a = array();
$dirs = array();
$files = array();
$output = array();
$useles = array(".", "..", ".DS_Store", "_notes", "Thumbs.db");
$a = scandir($dir);
$a = array_diff($a, $useles);
$a_count = count($a);
for($i=0;$i<=$a_count;$i++){
if(is_dir($a[$i]))
$dirs[] = $a[$i];
if(is_file($a[$i]))
$files[] = $a[$i];
}
if($order == 0){
$output[] = linkDirs($dirs);
$output[] = linkFiles($files);
}else{
$output[] = linkFiles($files);
$output[] = linkDirs($dirs);
}
output($output[0]);
output($output[1]);
}
function output($a = array()){
$count = count($a);
for($i=0;$i<$count;$i++){
if(strlen($a[$i])>0)
echo $a[$i].'<br>'."\n";
}
}
function linkDirs($dirs){
$return = array();
$count = count($dirs);
for($i=0; $i<$count;$i++){
$return[] = makeLink($dirs[$i], '', 'intern');
}
return $return;
unset($dirs, $return, $count, $i);
}
function linkFiles($files){
$return = array();
$count = count($files);
for($i=0; $i<$count;$i++){
$return[] = makeLink($files[$i], FILE_SPACER, 'extern');
}
return $return;
unset($files, $return, $count, $i);
}
function makeLink($name, $spacer = '', $mode = 'intern'){
$return = $spacer.'<a href="'.$name.'"';
if($mode == 'extern')
$return .= ' target="_BLANK"';
$return .= '>'.$name.'</a>';
return $return;
unset($return, $name, $mode);
}
?>