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
级的错误。
更新日志
版本
说明
5.4.0
sorting_order
now accepts constants. Any
nonzero value caused descending order in previous versions.
范例
Example #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] => . )
Example #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] => . )
注释
Tip如已启用fopen 包装器,在此函数中, URL 可作为文件名。关于如何指定文件名详见 fopen()。各种 wapper 的不同功能请参见 支持的协议和封装协议,注意其用法及其可提供的预定义变量。
参见
opendir() - 打开目录句柄 readdir() - 从目录句柄中读取条目 glob() - 寻找与模式匹配的文件路径 is_dir() - 判断给定文件名是否是一个目录 sort() - 对数组排序