PHP遍历目录下的全部文件

PHP piniu 892浏览 0评论

项目中有这么一个需求,需要遍历某个文件夹(目录)下的所有文件。

下面是解决这个问题所写的PHP代码,在这里记录一下。

第一种实现办法是用dir返回对象,第二种实现办法:用readdir()函数。

<?php
/**********************
一个简单的目录递归函数
第一种实现办法:用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(); 
} 
//开始运行
 
echo "<h2>目录为粉红色</h2><br>\n"; 
tree("./nowamagic"); 
<?php
/***********************
第二种实现办法:用readdir()函数
************************/
function listDir($dir)
{
    if(is_dir($dir))
    {
        if ($dh = opendir($dir)) 
        {
            while (($file = readdir($dh)) !== false)
            {
                if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
                {
                    echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
                    listDir($dir."/".$file."/");
                }
                else
                {
                    if($file!="." && $file!="..")
                    {
                        echo $file."<br>";
                    }
                }
            }
            closedir($dh);
        }
    }
}
//开始运行
listDir("./nowamagic");

 

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: