scandir

编辑

(PHP 5, PHP 7)

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

PHP中文网词条详解说明

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

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

PHP中文网词条详解参数

directory

要被浏览的目录

sorting_order

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

context

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

PHP中文网词条详解返回值

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

PHP中文网词条详解更新日志

版本说明
5.4.0sorting_order now accepts constants. Any        nonzero value caused descending order in previous versions.

PHP中文网词条详解范例

一个简单的 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] => .
)

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] => .
)

PHP中文网词条详解注释

注:如已启用fopen 包装器,在此函数中, URL 可作为文件名。关于如何指定文件名详见 fopen()。各种 wapper 的不同功能请参见 支持的协议和封装协议,注意其用法及其可提供的预定义变量

PHP中文网词条详解参见

  • opendir() - 打开目录句柄

  • readdir() - 从目录句柄中读取条目

  • glob() - 寻找与模式匹配的文件路径

  • is_dir() - 判断给定文件名是否是一个目录

  • sort() - 对数组排序

参考资料
词条标签:
scandir