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中的字符串函数
Oct 09 PHP
php中的一个中文字符串截取函数
Feb 14 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
PHP跳转页面的几种实现方法详解
Jun 08 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
php使用websocket示例详解
Mar 12 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
Thinkphp实现站点静态化的方法详解
Mar 21 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
详解php伪造Referer请求反盗链资源
Jan 24 PHP
用php定义一个数组最简单的方法
Oct 04 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
对python:print打印时加u的含义详解
2018/12/15 Python
python 获取等间隔的数组实例
2019/07/04 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
工作的心得体会
2013/12/31 职场文书
仓库管理制度
2014/01/21 职场文书
先进个人事迹材料
2014/01/25 职场文书
2014年社区植树节活动方案
2014/02/28 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
活动总结怎么写啊
2014/05/07 职场文书
年终奖发放方案
2014/06/02 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
先进党组织事迹材料
2014/12/26 职场文书
博士论文答辩开场白
2015/06/01 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python
python实现会员管理系统
2022/03/18 Python