php遍历目录下文件并按修改时间排序操作示例
这篇文章主要介绍了php遍历目录下文件并按修改时间排序操作,结合实例形式分析了php递归遍历目录文件与文件属性相关操作技巧,需要的朋友可以参考下。
本文实例讲述了php遍历目录下文件并按修改时间排序操作,分享给大家供大家参考,具体如下:
php 遍历目录下文件方法
- //遍历目录下文件方法
- function printdir($dir)
- {
- $files = array();
- //opendir() 打开目录句柄
- if($handle = @opendir($dir)){
- //readdir()从目录句柄中(resource,之前由opendir()打开)读取条目,
- // 如果没有则返回false
- while(($file = readdir($handle)) !== false){//读取条目
- if( $file != ".." && $file != "."){//排除根目录
- if(is_dir($dir . "/" . $file)) {//如果file 是目录,则递归
- $files[$file] = printdir($dir . "/" . $file);
- } else {
- //获取文件修改日期
- $filetime = date('Y-m-d H:i:s', filemtime($dir . "/" . $file));
- //文件修改时间作为健值
- $files[$filetime] = $file;
- }
- }
- }
- @closedir($handle);
- return $files;
- }
- }
对返回数组按时间排序
- //根据修改时间对数组排序
- function arraysort($aa) {
- if( is_array($aa)){
- ksort($aa);
- foreach($aa as $key => $value) {
- if (is_array($value)) {
- $arr[$key] = arraysort($value);
- } else {
- $arr[$key] = $value;
- }
- }
- return $arr;
- } else {
- return $aa;
- }
- }
- $dir = "/php";
- //输出 /php 下所有文件
- print_r(arraysort(printdir($dir)));