Heim >php教程 >php手册 >PHP 获取指定目录下所有文件(包含子目录) - 郑宏鑫erke

PHP 获取指定目录下所有文件(包含子目录) - 郑宏鑫erke

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-05-20 13:19:47849Durchsuche

PHP 获取指定目录下所有文件(包含子目录)

测试环境在linux下,如果要在windows,请改正$new_dir中的目录路径查找方式

<span style="color: #000000;">php
 
function get_file_list($dir)
{
  </span><span style="color: #000000;">
    $file_list </span>=<span style="color: #000000;"> array();
    $file_dir_list </span>=<span style="color: #000000;"> array();
     
    $dir_list </span>= scandir($dir); <span style="color: #008000;">//</span><span style="color: #008000;">查找目录  </span>
     
    <span style="color: #0000ff;">foreach</span> ($dir_list <span style="color: #0000ff;">as</span><span style="color: #000000;"> $r)
    {
        </span><span style="color: #0000ff;">if</span> ($r == <span style="color: #800000;">'</span><span style="color: #800000;">.</span><span style="color: #800000;">'</span> || $r == <span style="color: #800000;">'</span><span style="color: #800000;">..</span><span style="color: #800000;">'</span><span style="color: #000000;">)  
        {
            </span><span style="color: #0000ff;">continue</span><span style="color: #000000;">;
        }
        $new_dir </span>= $dir . <span style="color: #800000;">'</span><span style="color: #800000;">/</span><span style="color: #800000;">'</span><span style="color: #000000;"> . $r;
        </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (is_dir($new_dir))
        {</span><span style="color: #000000;">
            $file_dir </span>=<span style="color: #000000;"> get_file_list($new_dir);
            $file_dir_list </span>=<span style="color: #000000;"> array_merge($file_dir_list, $file_dir);
        }
        </span><span style="color: #0000ff;">else</span><span style="color: #000000;">
        {
            $file_list[] </span>=<span style="color: #000000;"> $new_dir;
        }
    }
     
    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> array_merge($file_list, $file_dir_list);
}
 
$file_list </span>= get_file_list(<span style="color: #800000;">'</span><span style="color: #800000;">.</span><span style="color: #800000;">'</span><span style="color: #000000;">);
print_r($file_list);</span>

scandir定义和用法

scandir() 函数返回一个数组,其中包含指定路径中的文件和目录。

若成功,则返回一个数组,若失败,则返回 false。如果 directory 不是目录,则返回布尔值 false 并生成一条 E_WARNING 级的错误。

语法

scandir(directory,sort,context)
参数 描述
directory 必需。规定要扫描的目录。
sort 可选。规定排列顺序。默认是 0 (升序)。如果是 1,则为降序。
context 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。

例子

<span style="color: #000000;">php
print_r(scandir(</span><span style="color: #800000;">"</span><span style="color: #800000;">images</span><span style="color: #800000;">"</span><span style="color: #000000;">));
</span>?> 

输出:

<span style="color: #000000;">Array
(
[</span><span style="color: #800080;">0</span>] =><span style="color: #000000;"> .
[</span><span style="color: #800080;">1</span>] =><span style="color: #000000;"> ..
[</span><span style="color: #800080;">2</span>] =><span style="color: #000000;"> dog.jpg
[</span><span style="color: #800080;">3</span>] =><span style="color: #000000;"> house.jpg
[</span><span style="color: #800080;">4</span>] =><span style="color: #000000;"> logo.gif
)</span>

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn