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

2015-01-24信息快讯网

本篇文章是对php遍历所有文件及文件夹的方法进行了详细的分析介绍,需要的朋友参考下

 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>";
 }
?>

phpstrom使用xdebug配置方法
php使用curl发送json格式数据实例
php获取301跳转URL简单实例
PHP获取MAC地址的具体实例
php配合jquery实现增删操作具体实例
php文件上传的例子及参数详解
php函数指定默认值方法的小例子
php实现文件下载(支持中文文名)
php查找任何页面上的所有链接的方法
php实现查看邮件是否已被阅读的方法
php遍历文件夹所有文件子文件夹函数代码
XAMPP安装与使用方法详细解析
PHP上传文件时文件过大$_FILES为空的解决方法
php使浏览器直接下载pdf文件的方法
php遍历目录与文件夹的多种方法详解
php文件夹与文件目录操作函数介绍
PHP遍历某个目录下的所有文件和子文件夹的实现代码
探讨PHP删除文件夹的三种方法
深入php常用函数的使用汇总
探讨php中遍历二维数组的几种方法详解
基于PHP遍历数组的方法汇总分析
探讨fckeditor在Php中的配置详解
php创建基本身份认证站点的方法详解
编写安全 PHP应用程序的七个习惯深入分析
编写php应用程序实现摘要式身份验证的方法详解
探讨方法的重写(覆载)详解
解析PHP中如何将数组变量写入文件
PHP转换文件夹下所有文件编码的实现代码
PHP删除目录及目录下所有文件的方法详解
解决PHP超大文件下载,断点续传下载的方法详解
基于PHP文件操作的详解
php删除与复制文件夹及其文件夹下所有文件的实现代码
php删除文件夹及其文件夹下所有文件的函数代码
php定时删除文件夹下文件(清理缓存文件)
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
©2014-2024 dbsqp.com