虚拟主机域名注册-常见问题网络编程问题 → PHP


PHP 查看目录内的文件和目录,并按生成时间排序
作者:
//查看目录内的文件和目录,并按生成时间排序
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;
}


来源:
阅读:901
日期:2023-06-15

推荐朋友 】 【 评论 】  【 字体: 】 
上一篇:js - 在href链接上进行确认
下一篇:PHP获取 目录中的最后一个文仿
  >> 相关文章
  没有相关文章。
发表评论


点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款