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
欢迎转载!但请带上文章地址^^