Home > php教程 > php手册 > body text

php列出指定目录所有子文件夹与文件实例

WBOY
Release: 2016-06-13 09:58:16
Original
1226 people have browsed it

php教程列出指定目录所有子文件夹与文件实例
function listDirFiles()
{
 // 设置目录
 $dirs = './';

 // 申明文件夹数组与文件数组
 $aFolders = array() ;
 $aFiles  = array() ;

 $ocfolder = opendir( $dirs ) ;//则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。用法opendir(path,context)


 while ( $sFile = readdir( $ocfolder ) ) // readdir() 函数返回由 opendir() 打开的目录句柄中的条目 语法:readdir(dir_stream)
 {
  if ( $sFile != '.' && $sFile != '..' )
  {
   if ( is_dir( $dirs . $sFile ) ) // 判断是否为目录,是返回ture否就返回false;
    $aFolders[] = 'dirs:' . $sFile . '
' ;
   else
   {
    $fsize = @filesize( $dirs . $sFile ) ; //filesize() 函数返回指定文件的大小。 语法:filesize(filename)


    if ( !$fsize ) {
     $fsize = 0 ;
    }
    if ( $fsize > 0 )
    {
     $fsize = round( $fsize / 1024 ) ;//round() 函数对浮点数进行四舍五入。 round(x,prec)
     if ( $fsize     }

    $aFiles[] = '文件名:' .$sFile . '文件大小=' . $fsize . 'KB
' ;
   }
  }
 }


 // 对目录进行自然排序
 
 natcasesort( $aFolders ) ;//对数组自然排序 natcasesort(array)

 foreach ( $aFolders as $sFolder )
 {
  echo $sFolder ;
 }

 // 对文件进行自然排序
 natcasesort( $aFiles ) ; // 自然1-9,a-z排序natcasesort(array);
 foreach ( $aFiles as $sFiles )
 {
  echo $sFiles ;
 }


}

/*
调用方法当前有目录
dirs:1
dirs:www.bKjia.c0m
文件名:1.php
文件名:2.php
*/

listDirFiles();

/*
输出结果为
dirs:1
dirs:www.bKjia.c0m
文件名:1.php文件大小=1KB
文件名:2.php文件大小=2KB

用到函数解析
opendir
则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。用法opendir(path,context)
is_dir
判断是否为目录,是返回ture否就返回false;
readdir
readdir() 函数返回由 opendir() 打开的目录句柄中的条目 语法:readdir(dir_stream)
filesize()
 函数返回指定文件的大小。 语法:filesize(filename)
natcasesort(array)
natcasesort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先,该函数不区分大小写。数组的索引与单元值保持关联

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template