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的5个入手程序
Nov 23 PHP
php ftp文件上传函数(基础版)
Jun 03 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
php上传图片之时间戳命名(保存路径)
Aug 15 PHP
PHP中new static() 和 new self() 的区别介绍
Jan 09 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
PHP错误处理函数
Apr 03 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
php实现微信支付之企业付款
May 30 PHP
Windows服务器中PHP如何安装redis扩展
Sep 27 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
php进程间通讯实例分析
2016/07/11 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
JavaScript 字符编码规则
2009/05/04 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
python基础教程之分支、循环简单用法
2016/06/16 Python
python 信息同时输出到控制台与文件的实例讲解
2018/05/11 Python
python读取和保存图片5种方法对比
2018/09/12 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python简单贪吃蛇开发
2019/01/28 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
电气自动化自荐信
2013/10/10 职场文书
摄影展策划方案
2014/06/02 职场文书
领导干部对照检查材料
2014/08/24 职场文书
学生退学证明
2015/06/23 职场文书
六一活动主持词
2015/06/30 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python