PHP读取文件夹目录,按时间排序,大小排序,名字排序

工作中有时候会遇到文件存储数据,但是在前台显示的时候又因为没有数据库,无法使用上传或最后一次修改日期字段排序,所以有了如下代码:

<?php
$dir = "./";//目录

if (is_dir($dir)) {
	if ($dh = opendir($dir)) {
		$i = 0;
		while (($file = readdir($dh)) !== false) {
			if ($file != "." && $file != "..") {
				$files[$i]["name"] = $file;//获取文件名称
				$files[$i]["size"] = round((filesize($file)/1024),2);//获取文件大小
				$files[$i]["time"] = date("Y-m-d H:i:s",filemtime($file));//获取文件最近修改日期
				$i++;
			}
		}
	}
	closedir($dh);
	foreach($files as $k=>$v){
		$size[$k] = $v['size'];
		$time[$k] = $v['time'];
		$name[$k] = $v['name'];
	}
	array_multisort($time,SORT_DESC,SORT_STRING, $files);//按时间排序
	//array_multisort($name,SORT_DESC,SORT_STRING, $files);//按名字排序
	//array_multisort($size,SORT_DESC,SORT_NUMERIC, $files);//按大小排序
	print_r($files);
}
?>

  

转至 http://www.175101.com/post-31.html

原文地址:https://www.cnblogs.com/coolid/p/3651350.html