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 相关文章推荐
数据库相关问题
Oct 09 PHP
PHP实现文件安全下载
Oct 09 PHP
PHP的FTP学习(三)
Oct 09 PHP
php调用mysql存储过程
Feb 14 PHP
PHP 抓取网页图片并且另存为的实现代码
Mar 24 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
Apr 08 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
PHP中Enum(枚举)用法实例详解
Dec 07 PHP
Zend Studio使用技巧两则
Apr 01 PHP
PHP如何通过表单直接提交大文件详解
Jan 08 PHP
Laravel框架表单验证操作实例分析
Sep 30 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获取网络上文件
2006/10/09 PHP
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
python 发送json数据操作实例分析
2019/10/15 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
预备党员党课思想汇报
2014/01/13 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
竞选学委演讲稿
2014/09/13 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
安全主题班会教案
2015/08/12 职场文书