首页 > 代码库 > 遍历 目录的几种有效办法
遍历 目录的几种有效办法
这一两个月来到新公司 刚好赶上项目进度,加班有点多,忘了记录点什么。。刚刚商品上传扫描 这块用上了之前研究的 目录相关技巧的 知识,很开心;当然下一期的 迭代器的讲解更有意思 ^-^;
传统扫描目录(我基本弃用了):
/********************** 一个简单的目录递归函数 第一种实现办法:用dir返回对象 ***********************/ function tree($directory) { $mydir = dir($directory); echo "<ul>\n"; while($file = $mydir->read()) { if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) { echo "<li><font color=\"#ff00cc\"><b>$file</b></font></li>\n"; tree("$directory/$file"); } else echo "<li>$file</li>\n"; } echo "</ul>\n"; $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()); } } }
遍历 目录的几种有效办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。