PHP遍历并打印指定目录下所有文件实例


Posted in PHP onFebruary 10, 2014
<?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:\wamp\www\test\lamp61');  //指定的文件路径
?>
PHP 相关文章推荐
利用PHP制作简单的内容采集器的原理分析
Oct 01 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
php产生随机数的两种方法实例代码 输出随机IP
Apr 08 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
php使用curl打开https网站的方法
Jun 17 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
Jul 01 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
基于php伪静态的实现方法解析
Jul 31 PHP
php生成excel文件的简单方法
Feb 08 #PHP
php中利用explode函数分割字符串到数组
Feb 08 #PHP
PHP判断变量是否为0的方法
Feb 08 #PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 #PHP
php中\r \r\n \t的区别示例介绍
Feb 08 #PHP
php获得用户ip地址的比较不错的方法
Feb 08 #PHP
php全角字符转换为半角函数
Feb 07 #PHP
You might like
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
js获取域名的方法
2015/01/27 Javascript
PHP守护进程实例
2015/03/06 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
vue router demo详解
2017/10/13 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
vant实现购物车功能
2020/06/29 Javascript
Vue项目打包编译优化方案
2020/09/16 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
python目录与文件名操作例子
2016/08/28 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
学生会个人自荐书范文
2014/02/12 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
浅谈:电影《孔子》观后感(范文)
2019/10/14 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL