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 < 1 ) $fsize = 1 ;
}
$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 ;
}
}
listDirFiles();
/*
輸出結果為
dirs:1
dirs:www.jquerycn.cn
檔案名: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 的排序方法,短者優先,該函數不區分大小寫。數組的索引與單元值保持關聯