php遍历所有文件及文件夹的方法深入解析


Posted in PHP onJune 08, 2013

 1.方法一:

<? 
$dir="D:"; 
static $dir_list =0; 
static $file_list =0; 
function listfile($dir){
global $dir_list,$file_list;
$d = dir($dir); 
while ( $entry = $d->read()) { 
$tem_curnt=$dir."/".$entry; 
if($entry=="." || $entry=="..") continue; 
if ( is_dir( $tem_curnt)) { 
listfile($tem_curnt);
echo "文件夹 ".$tem_curnt."<br>"; 
$dir_list++; 
} 
elseif ( is_file($tem_curnt)) { 
echo "文件".$tem_curnt."<BR>"; 
$file_list++; 
} 
} 
$d->close(); 
}
listfile($dir);
echo "目录数:".$dir_list;
echo"<br>";
echo"文件数:".$file_list;
?>

2.方法二:
<?php
function list_dir($dirpath){
 if($dirpath[strlen($dirpath)]-1!='/'){
  $dirpath.="/";
 }
 static $result_array=array();
 if(is_dir($dirpath)){
  $files_dirs=scandir($dirpath);
  foreach($files_dirs as $file){
   if($file=='.'||$file=='..'){continue;}
   if(is_dir($dirpath.$file)){
    list_dir($dirpath.$file);
   }else{
    array_push($result_array,$dirpath.$file);
   }
  }
 }
 return $result_array;
}
$array=list_dir('D:/www');
foreach($array as $value){
 echo $value;
 echo "<br>";
}
?>

3.方法三:
<?php
 function list_dir($dirpath){
  if($dirpath[strlen($dirpath)-1]!="//"){$dirpath.="//";}
  static $result_array=array();
  if(is_dir($dirpath)){
   $handle=opendir($dirpath);
   while($file=readdir($handle)){
    if($file=="."||$file==".."){continue;}
    if(is_dir($dirpath.$file)){
     list_dir($dirpath.$file."//");
    }else{
     array_push($result_array,$dirpath.$file);
    }
   }
   closedir($handle);
  }
  return $result_array;
 }
 $array=list_dir("D:/www");
 foreach($array as $value){
  echo $value;
  echo "<br>";
 }
?>

4.方法四:
<?php
 function list_dir($dirpath){
  if($dirpath[strlen($dirpath)-1]!="//"){$dirpath.="//";}
  static $result_array=array();
  if(is_dir($dirpath)){
   $dir=dir($dirpath);
   while($file=$dir->read()){
    if($file=="."||$file==".."){continue;}
    if(is_dir($dirpath.$file)){
     list_dir($dirpath.$file."//");
    }else{
     array_push($result_array,$dirpath.$file);
    }
   }
   $dir->close();
  }
  return $result_array;
 }
 $array=list_dir("D:/www");
 foreach($array as $value){
  echo $value;
  echo "<br>";
 }
?>

PHP 相关文章推荐
php,不用COM,生成excel文件
Oct 09 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
PHP实现加密的几种方式介绍
Feb 22 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
May 07 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
Yii2下session跨域名共存的解决方案
Feb 04 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
Apr 01 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 #PHP
基于PHP遍历数组的方法汇总分析
Jun 08 #PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 #PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 #PHP
处理单名多值表单的详解
Jun 08 #PHP
探讨fckeditor在Php中的配置详解
Jun 08 #PHP
php创建基本身份认证站点的方法详解
Jun 08 #PHP
You might like
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
Javascript 陷阱 window全局对象
2008/11/26 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
解决uWSGI的编码问题详解
2017/03/24 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python单元测试简单示例
2018/07/03 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
Python 解析简单的XML数据
2020/07/24 Python
Python定义一个Actor任务
2020/07/29 Python
高中数学教学反思
2014/01/30 职场文书
心理健康活动总结
2014/04/30 职场文书
新郎新娘致辞
2015/07/31 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
python munch库的使用解析
2021/05/25 Python