foreach (scandir($folder) AS $value) {
if ($value == '.' OR $value == '..') continue
echo '文件名 : ' . $value . "纳告\n"
}
这篇文章主要介绍了PHP遍历并打印指定目录下所有文件实例,需要的朋友可以参考下代码如下:
<?php
//功能:遍历并打印指定目录下所有文件
function
scan_dir($dir_name,$dir_flag=1)
{
static
$FILE_COUNT=1
//记录文件数目
初值为1
目录名称不记
$FILE_COUNT--
//每调用一次scan_dir()函数自减1
@$dir_handle=opendir($dir_name)
//抑制错误信息显示
便于自定义错误显示
if(!$dir_handle)
die("目录打开错误!")
while(false!==($filename=readdir($dir_handle)))
//文件名为‘0'时,readdir返回
FALSE,判断返回值是否不全等
{
$flag=$dir_flag
//古怪的
is_dir($filename)
!
$filename这个路径必须能够寻到!当$filename不存在或高蚂者不是目录时返回false
if($filename!='.'&&$filename!='..')
{
$FILE_COUNT++
//不记录当前路径和上一级路径
while($flag>0&&--$flag)
//负数仍为真
echo
'
'
if(is_dir($dir_name.$filename))
//判断
是否为一个目录
{
echo
'<strong>'."<a
href=".$dir_name.$filename.">".$filename."</a></strong><br>"
scan_dir($dir_name.$filename.'/',$dir_flag+1)
//$dir_flag标志缺盯目录树层次戚扮埋
}
else
{
echo
"<a
href=".$dir_name.$filename.">".$filename."</a><br>"
}
}
}
closedir($dir_handle)
//关闭目录句柄
echo
"文件总数:".$FILE_COUNT.'<br>'
}
scan_dir('D:wampwwwtestlamp61')
//指定的文件路径
?>
最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:
/*** 遍历目录
* @param string $dir 绝对/相对路径
* @param string $filter 默认*返回所有文件及文件夹,*.php仅返回php文件,消厅如果$patten为GLOB_BRACE可实现多文件筛选,如*.{php,html},返回php和html文件
* @param const $patten 默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册
* @param string/bool $nocache 防止本次调用的结果缓存上次的结果,如果一个脚本仅调用凳明一次本函数,则不用管,否则得设个值
* @return array
*/
function globdir($dir, $filter = '*', $patten = GLOB_BRACE, $nocache = null) {
static $file_arr = array ()
isset($nocache) && $file_arr = array ()
if (!is_dir($dir)) return
if ($patten == GLOB_ONLYDIR) {
$code = 'if (is_dir($file)) {$file_arr[] = $fileglobdir($file, "*", GLOB_ONLYDIR)}'
} else {
$code = 'is_file($file) ? $file_arr[] = $file : globdir($file,"' . 枣桥告$filter . '",' . $patten . ')'
}
array_walk(glob("{$dir}/{$filter}", $patten), create_function('$file, $k, $file_arr', $code), &$file_arr)
if ($filter != '*') {
array_walk(glob("{$dir}/*", GLOB_ONLYDIR), create_function('$dir,$k,$param', 'list($filter, $patten) = explode("|", $param)globdir($dir, $filter, $patten)'), "{$filter}|{$patten}")
}
return $file_arr
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)