牛骨文教育服务平台(让学习变的简单)
博文笔记

php获取目录下所有文件路径(递归)

创建时间:2017-02-06 投稿人: 浏览次数:2336

目录如下:

D:adir>tree /A /F
D:.
|   afile1.rar
|   afile2.txt
|   afile3.BMP
|
+---bdir
|       bfile1.rar
|       bfile2.txt
|       bfile3.BMP
|
---cdir
    |   cfile1.rar
    |   cfile2.txt
    |   cfile3.BMP
    |
    ---ddir
        |   dfile1.rar
        |   dfile2.txt
        |   dfile3.BMP
        |
        ---edir
                efile1.rar
                efile2.txt
                efile3.BMP

具体代码:

<?php
function tree(&$arr_file, $directory, $dir_name="") 
{

    $mydir = dir($directory);
    while($file = $mydir->read())
    {
        if((is_dir("$directory/$file")) AND ($file != ".") AND ($file != ".."))
        {
            tree($arr_file, "$directory/$file", "$dir_name/$file");
        }
        else if(($file != ".") AND ($file != ".."))
        {
            $arr_file[] = "$dir_name/$file";
        }
    }
    $mydir->close();
}

//开始运行
$arr_file = array();
tree($arr_file, "D:/adir");
print_r($arr_file);

运行结果:

Array
(
    [0] => /afile1.rar
    [1] => /afile2.txt
    [2] => /afile3.BMP
    [3] => /bdir/bfile1.rar
    [4] => /bdir/bfile2.txt
    [5] => /bdir/bfile3.BMP
    [6] => /cdir/cfile1.rar
    [7] => /cdir/cfile2.txt
    [8] => /cdir/cfile3.BMP
    [9] => /cdir/ddir/dfile1.rar
    [10] => /cdir/ddir/dfile2.txt
    [11] => /cdir/ddir/dfile3.BMP
    [12] => /cdir/ddir/edir/efile1.rar
    [13] => /cdir/ddir/edir/efile2.txt
    [14] => /cdir/ddir/edir/efile3.BMP
)

注意:这里没有将中文文件名进行转码。

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。