//查看目录内的文件和目录,并按生成时间排序
function index(){
//要查看的目录
$file_path = '../extend/';
//判断 Mac 是否有 DS_Store,拉取文件是否有.gitkeep、.keep,并排除
$files = [];
$file = scandir($file_path, 1);
if(!empty($file)){
foreach($file as $k=>$v){
if($v!='.' && $v!='..' && $v!='.DS_Store' && $v!='.gitkeep' && $v!='.keep'){
$files[] = $v;
}
}
}
$list = [];
if(is_array($files)){
foreach($files as $k=>$v){
$filesize = filesize($file_path . $v);
if($filesize < 1024){
$size = sprintf("%01.2f", $filesize) . "B";
}elseif($filesize < 1024 * 1024){
$size = sprintf("%01.2f", ($filesize / 1024)) . "KB";
}elseif($filesize < 1024 * 1024 * 1024){
$size = sprintf("%01.2f", ($filesize / (1024 * 1024))) . "MB";
}elseif($filesize < 1024 * 1024 * 1024 * 1024){
$size = sprintf("%01.2f", ($filesize / (1024 * 1024 * 1024))) . "GB";
}
$list[] = [
'file'=>$v,
'size'=>$size,
'create_time'=>filemtime($file_path . $v),
'create_date'=>date('Y-m-d H:i:s', filemtime($file_path . $v)),
];
}
}
//根据文件和目录生成时间按倒序排列
$list = $this->arraySort($list, 'create_time', SORT_DESC);
echo '<pre>';
print_r($list);die;
echo '</pre>';
}
/**
* 二维数组根据某个字段排序
* @param array $array 要排序的数组
* @param string $keys 要排序的键字段
* @param string $sort 排序类型: SORT_ASC 升序, SORT_DESC 降序
* @return array 排序后的数组
*/
function arraySort($array, $keys, $sort = SORT_DESC) {
$keysValue = [];
foreach ($array as $k => $v) {
$keysValue[$k] = $v[$keys];
}
array_multisort($keysValue, $sort, $array);
return $array;
}
PHP 查看目录内的文件和目录,并按生成时间排序
最新推荐文章于 2021-03-25 15:13:40 发布