php遍历目录下文件并按修改时间排序操作示例

这篇文章主要介绍了php遍历目录下文件并按修改时间排序操作,结合实例形式分析了php递归遍历目录文件与文件属性相关操作技巧,需要的朋友可以参考下。

本文实例讲述了php遍历目录下文件并按修改时间排序操作,分享给大家供大家参考,具体如下:

php 遍历目录下文件方法

  1. //遍历目录下文件方法
  2. function printdir($dir)
  3. {
  4. $files = array();
  5. //opendir() 打开目录句柄
  6. if($handle = @opendir($dir)){
  7. //readdir()从目录句柄中(resource,之前由opendir()打开)读取条目,
  8. // 如果没有则返回false
  9. while(($file = readdir($handle)) !== false){//读取条目
  10. if( $file != ".." && $file != "."){//排除根目录
  11. if(is_dir($dir . "/" . $file)) {//如果file 是目录,则递归
  12. $files[$file] = printdir($dir . "/" . $file);
  13. } else {
  14. //获取文件修改日期
  15. $filetime = date('Y-m-d H:i:s', filemtime($dir . "/" . $file));
  16. //文件修改时间作为健值
  17. $files[$filetime] = $file;
  18. }
  19. }
  20. }
  21. @closedir($handle);
  22. return $files;
  23. }
  24. }

对返回数组按时间排序

  1. //根据修改时间对数组排序
  2. function arraysort($aa) {
  3. if( is_array($aa)){
  4. ksort($aa);
  5. foreach($aa as $key => $value) {
  6. if (is_array($value)) {
  7. $arr[$key] = arraysort($value);
  8. } else {
  9. $arr[$key] = $value;
  10. }
  11. }
  12. return $arr;
  13. } else {
  14. return $aa;
  15. }
  16. }
  17. $dir = "/php";
  18. //输出 /php 下所有文件
  19. print_r(arraysort(printdir($dir)));