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 相关文章推荐
简单的页面缓冲技术
Oct 09 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
深入php list()函数的详解
Jun 05 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
destoon二次开发常用数据库操作
Jun 21 PHP
PHP 使用redis简单示例分享
Mar 05 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
php连接oracle数据库的核心步骤
May 26 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
PHP类相关知识点实例总结
Sep 28 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 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
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
10 个经典PHP函数
2013/10/17 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
Firefox outerHTML实现代码
2009/06/04 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
python3 logging日志封装实例
2020/04/08 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
Notino罗马尼亚网站:购买香水和化妆品
2019/07/20 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
项目管理计划书
2014/01/09 职场文书
财产分割协议书范本
2014/11/03 职场文书
2014年稽查工作总结
2014/12/20 职场文书
服务承诺书
2015/01/19 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技