PHP 手册
后退 |  | 前进

# 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()

后退 | 起点 | 前进
rewinddir | 上一级 | DOM Functions