PHP源码学习:将目录下的文件按照上传/修改的最近时间排序


<?php
function judge($i, $filename, $time, $m) {
if ($i == $m) {
while(list($key, $value)= each($filename)) {
$filename[$key] = $value; //echo $filename[$key]."<br>";
}
while(list($key, $value) = each($time)) { $time[$key] = $value; //echo $time[$key]."<BR>"; }
}
for ($j = 0; $j < $i; $j++) {
if ($time[$j] > $max) {
$max = $time[$j];
$sign = $j;
}
if ($j == ($i-1)) {
echo $filename[$sign]." ʱ¼äÖµ£º".$time [$sign]."<br>";
if($sign < $j) { $time[$sign] = $time[$j];
$filename[$sign] = $filename[$j];
}
judge($i-1, $filename, $time, $m);
}
}
}
function list_file($path, $mode = 1) {
$handle = opendir($path);
while ($file = readdir($handle)) {
$length = strpos($file, ".");
if ($length) { static $i = 0;
$time[$i] = fileatime($file);
$filename[$i] = $file; //echo $filename[$i].$time[$i]."<BR>"; $i++;
}
} $m = $i;
judge($i, $filename, $time, $m);
}
list_file(".");
?>