zoukankan      html  css  js  c++  java
  • 遍历 目录的几种有效办法

    这一两个月来到新公司 刚好赶上项目进度,加班有点多,忘了记录点什么。。刚刚商品上传扫描 这块用上了之前研究的 目录相关技巧的 知识,很开心;当然下一期的 迭代器的讲解更有意思 ^-^;

    传统扫描目录(我基本弃用了):

    /**********************
    一个简单的目录递归函数
    第一种实现办法:用dir返回对象
     ***********************/
    function tree($directory)
    {
        $mydir = dir($directory);
        echo "<ul>
    ";
        while($file = $mydir->read())
        {
            if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
            {
                echo "<li><font color="#ff00cc"><b>$file</b></font></li>
    ";
                tree("$directory/$file");
            }
            else
                echo "<li>$file</li>
    ";
        }
        echo "</ul>
    ";
        $mydir->close();
    }
    

      

    第二种:php5.4 更新的,比较好用,遍历目录

    /**
     * @desc 使用扫描目录函数来遍历
     * @Author  FredGui
     * @param string $path
     */
    function dirList($path = '/var/www/html/guimm/test'){
        foreach(scandir($path) as $i => $mod)
        {
            if(is_dir('/var/www/html/guimm/test/'.$mod) && !in_array($mod,['.','..']))
            {
                test1('/var/www/html/guimm/test/'.$mod);
                echo '目录是:'. $mod . "<br/>";
            }else{
                $files[$i] = $mod;
                echo '文件:'. $mod . "<br/>";
            }
        }
    }
    

    最后一种 我现在 用的,迭代器,他的好处就不多说了,下一期博客 会讲解相关的迭代器原理

    /**
     * @desc 遍历目录,用文件系统迭代器
     * @Author  FredGui
     * @param string $path
     */
    function fileList( $path = '/var/www/html/guimm/test'){
    
        $file = new FilesystemIterator($path);
        foreach ($file as $fileinfo) {
            /** @var $fileinfo SplFileInfo */
           if($fileinfo->isFile()){
               echo $fileinfo -> getFilename() . "<br/>";
           }elseif($fileinfo->isDir()){
               echo $fileinfo->getPathname() . "<br/>";
               fileList($fileinfo->getPathname());
           }
        }
    }
    

      

     

  • 相关阅读:
    Visio 2003 怎样将用例图画的更美观些
    Mvc项目实例 MvcMusicStore 四
    Mvc项目实例 MvcMusicStore 三
    Lock 会引起死锁吗
    进程和线程
    vb.net winform pos机并口打印机打印以及开钱箱。。。。
    .net winfrom 定义全局快捷键!
    WebBrowser中HTML的js与winform中其他的窗体调用。。。
    [转]确认网络环境3G/WIFI
    图片分割的代码
  • 原文地址:https://www.cnblogs.com/guixiaoming/p/6923028.html
Copyright © 2011-2022 走看看