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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
Nov 12 PHP
基于PHP array数组的教程详解
Jun 05 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
php的慢速日志引起的Mysql错误问题分析
May 13 PHP
PHP框架性能测试报告
May 08 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
Laravel框架实现redis集群的方法分析
Sep 14 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
详细分析PHP 命名空间(namespace)
Jun 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缓存技术的多种方法小结
2012/08/14 PHP
详解php的socket通信
2015/08/11 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
JSON Web Tokens的实现原理
2017/04/02 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
python 实现dict转json并保存文件
2019/12/05 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
postman和python mock测试过程图解
2020/02/22 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
营销主管自我评价怎么写
2013/09/19 职场文书
员工自我鉴定范文
2013/10/06 职场文书
夜大自我鉴定
2013/10/31 职场文书
专科毕业生就业推荐信
2013/11/01 职场文书
《匆匆》教学反思
2014/02/22 职场文书
法人委托书范本
2014/04/04 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
个人授权委托书范本
2014/09/14 职场文书
党员民主评议个人总结
2014/10/20 职场文书
办公室卫生管理制度
2015/08/04 职场文书
小学中队长竞选稿
2015/11/20 职场文书
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python