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.phprm.com
文件名:1.php
文件名:2.php
*/
listDirFiles();
/*
输出结果为
dirs:1
dirs:www.phprm.com
文件名: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 的排序方法,短者优先,该函数不区分大小写。数组的索引与单元值保持关联
教程地址:http://www.phprm.com/develop/ea604f9beedf58c6de73209fa72d8727.html
欢迎转载!但请带上文章地址^^