php 显示指定目录所有子文件夹

  1. function ListFolders()
  2. {
  3. // 设置一个路径
  4. $dir = "./";
  5. // 设置一个存放文件件的数组
  6. $aDir = array() ;
  7. $oCurrentdir = opendir( $dir ) ; //打开目录
  8. while ( $sFile = readdir( $oCurrentdir ) ) //读取当前目录所有子目录
  9. {
  10. if ( $sFile != '.' && $sFile != '..' && is_dir( $dir . $sFile ) )//判断是否为根目录
  11. $aFolders[] = '目录:' .$sFile. '<br />' ;//输也目录
  12. }
  13. closedir( $oCurrentdir ) ;//判断刚才用opendir打开的目录
  14. // Open the "Folders" node.
  15. natcasesort( $aFolders ) ; //对数组进行自然排序不区分大小写的自然顺序算法对给定数组中的元素排序即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先
  16. foreach ( $aFolders as $sFolder )
  17. {
  18. echo $sFolder ;
  19. }
  20. }
  21. /*
  22. 测试,我们在当前目录有二个子目录
  23. 目录:1
  24. 目录:www.phpfensi.com
  25. */
  26. getFolders();
  27. /*

运行后得到结果为,目录:1,目录:www.phpfensi.com

常用函数解析:

array() 数据申明,可以用直接赋值 array(1,2,3,4);

opendir() 打开目录,opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用,若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。

readdir 读取目录,cosedir判断目录,natcasesort() 函数用不区分大小写的自然顺序算法对给定数组中的元素排序。natcasesort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先,该函数不区分大小写,数组的索引与单元值保持关联,如果成功,则该函数返回 TRUE,否则返回 FALSE。