Heim > Backend-Entwicklung > PHP-Tutorial > php代码列出一个目录下的所有文件

php代码列出一个目录下的所有文件

WBOY
Freigeben: 2016-07-25 09:08:05
Original
1489 Leute haben es durchsucht
  1. /**
  2. 目录处理函数
  3. */
  4. function dir_path($path) {
  5. $path = str_replace('\\', '/', $path);
  6. if (substr($path, -1) != '/') $path = $path . '/';
  7. return $path;
  8. }
  9. /**
  10. * 列出目录下的所有文件
  11. *
  12. * @param str $path 目录
  13. * @param str $exts 后缀
  14. * @param array $list 路径数组
  15. * @return array 返回路径数组
  16. */
  17. function dir_list($path, $exts = '', $list = array()) {
  18. $path = dir_path($path);
  19. $files = glob($path . '*');
  20. foreach($files as $v) {
  21. if (!$exts || preg_match("/\.($exts)/i", $v)) {
  22. $list[] = $v;
  23. if (is_dir($v)) {
  24. $list = dir_list($v, $exts, $list);
  25. }
  26. }
  27. }
  28. return $list;
  29. }
  30. ?>
复制代码

使用方法:

  1. $r = dir_list('dir');
  2. printf("

    输出数据为:

    %s
    Nach dem Login kopieren
    \n", var_export($r , true));
  3. ?>
复制代码

#------------------- PHP函数-用来列出目录下所有文件

采用PHP编写的函数,用来列出指定目录下的所有的文件。 函数后面带有一个使用的示例代码。 注意:如果页面是utf-8的,在window中文版本的系统中,读取中文的文件名的时候会出现乱码。

  1. /* 函数 listDirTree( $dirName = null )
  2. ** 功能 列出目录下所有文件及子目录
  3. ** 参数 $dirName 目录名称
  4. ** 返回 目录结构数组 false为失败
  5. */
  6. function listDirTree( $dirName = null )
  7. {
  8. if( empty( $dirName ) )
  9. exit( "IBFileSystem: directory is empty." );
  10. if( is_dir( $dirName ) )
  11. {
  12. if( $dh = opendir( $dirName ) )
  13. {
  14. $tree = array();
  15. while( ( $file = readdir( $dh ) ) !== false )
  16. {
  17. if( $file != "." && $file != ".." )
  18. {
  19. $filePath = $dirName . "/" . $file;
  20. if( is_dir( $filePath ) ) //为目录,递归
  21. {
  22. $tree[$file] = listDirTree( $filePath );
  23. }
  24. else //为文件,添加到当前数组
  25. {
  26. $tree[] = $file;
  27. }
  28. }
  29. }
  30. closedir( $dh );
  31. }
  32. else
  33. {
  34. exit( "IBFileSystem: can not open directory $dirName.");
  35. }
  36. //返回当前的$tree
  37. return $tree;
  38. }
  39. else
  40. {
  41. exit( "IBFileSystem: $dirName is not a directory.");
  42. }
  43. }
  44. $files = listDirTree(".");
  45. //print_r($files);
  46. $size = count(files);
  47. //以下代码是创建一个本目录下文件的列表(带有链接地址)
  48. echo '
      ';
    1. for( $i=0; $files[$i] != NULL; $i++ ) {
    2. echo '
    3. '.$files[$i].'
    4. ';
    5. }
    6. echo '
    ';
  49. ?>
复制代码


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage