scandir

(PHP 5)

scandir -- 列出指定路径中的文件和目录

说明

array scandir ( string directory [, int sorting_order [, resource context]] )

返回一个 array ,包含有 directory 中的文件和目录。

参数

directory

要被浏览的目录

sorting_order

默认的排序顺序是按字母升序排列。如果使用了可选参数 sorting_order (设为 1),则排序顺序是按字母降序排列。

context

context 参数的说明见手册中的 Streams API 一章。

返回值

成功则返回包含有文件名的 array ,如果失败则返回 FALSE 。如果 directory 不是个目录,则返回布尔值 FALSE 并生成一条 E_WARNING 级的错误。

范例

例子 1. 一个简单的 scandir() 例子

<?php
$dir    
= '/tmp' ;
$files1 = scandir ( $dir );
$files2 = scandir ( $dir , 1 );

print_r ( $files1 );
print_r ( $files2 );
?>

上例的输出类似于:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

例子 2. scandir() 在 PHP 4 中的实现

<?php
$dir
= "/tmp" ;
$dh   = opendir ( $dir );
while (
false !== ( $filename = readdir ( $dh ))) {
    
$files [] = $filename ;
}

sort ( $files );

print_r ( $files );

rsort ( $files );

print_r ( $files );

?>

上例的输出类似于:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

注释

提示: 如果 “fopen wrappers” 已经被激活,则在本函数中可以把 URL 作为文件名来使用。请参阅 fopen() 函数来获取怎样指定文件名的详细信息以及支持 URL 封装协议的列表: 附录 L

参见

opendir()
readdir()
glob()
is_dir()
sort()