zoukankan      html  css  js  c++  java
  • ZH奶酪:PHP遍历目录/文件的3种方法

    其实PHP中内建函数scandir()就可以返回目录下全部文件和目录了。。。

    ==========================

    1、使用$obj = dir($dir)返回目录对象$obj,然后使用其$obj->read()方法遍历;

     1 <?php
     2 /**
     3  * Created by PhpStorm.
     4  * User: Zhang He
     5  * Date: 2015/6/8
     6  * Time: 12:21
     7  */
     8 function traverseDir( $filedir ) {
     9     //打开目录
    10     $dir = @dir($filedir);
    11     //列出目录中的文件
    12     while (($file = $dir->read())!==false){
    13         if(is_dir($filedir."/".$file) AND ($file!=".") AND ($file!="..")){
    14             //递归遍历子目录
    15             traverseDir($filedir."/".$file);
    16         } else {
    17             //输出文件完整路径
    18             echo "filename: " .$filedir."/".$file . "<br />";
    19         }
    20     }
    21     $dir->close();
    22 }
    23 //测试:遍历当前目录
    24 traverseDir(".");
    25 ?>

    2、先使用$obj = opendir($dir)获取对象$obj,再使用readdir($obj)遍历目录

     1 <?php
     2 /**
     3  * Created by PhpStorm.
     4  * User: Zhang He
     5  * Date: 2015/6/8
     6  * Time: 12:21
     7  */
     8 function traverseDir($dir){
     9     if(is_dir($dir)){
    10         if ($obj = opendir($dir)){
    11             while (($file = readdir($obj)) !== false){
    12                 if((is_dir($dir."/".$file)) and $file!="." and $file!=".."){
    13                     echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
    14                     traverseDir($dir."/".$file."/");
    15                 }else{
    16                     if($file!="." and $file!=".."){
    17                         echo $file."<br>";
    18                     }
    19                 }
    20             }
    21             closedir($obj);
    22         }
    23     }
    24 }
    25 //测试:遍历当前目录
    26 traverseDir(".");
    27 ?>
  • 相关阅读:
    javascript 事件冒泡
    Java 理论与实践: 正确使用 Volatile 变量
    Concurrency,Java 并发
    POJ2379 ACM Rank Table 模拟题
    HDU1711Number Sequence KMP
    POJ1061 青蛙的约会 扩展GCD
    HDU2523 SORT AGAIN HASH
    HDU2087剪花布条 KMP
    HDU3736 Cyclic Nacklace KMP
    HDU1709The Balance 母函数
  • 原文地址:https://www.cnblogs.com/CheeseZH/p/4560602.html
Copyright © 2011-2022 走看看