程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php列出指定目錄所有子文件夾與文件實例

php列出指定目錄所有子文件夾與文件實例

編輯:關於PHP編程

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 . '<br />' ;
   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 < 1 ) $fsize = 1 ;
    }

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


 // 對目錄進行自然排序
 
 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 的排序方法,短者優先,該函數不區分大小寫。數組的索引與單元值保持關聯

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved