scandir

(PHP 5, PHP 7, PHP 8)

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

说明

scandir(string$directory, int$sorting_order = SCANDIR_SORT_ASCENDING, ?resource$context = null): array|false

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

参数

directory

要被浏览的目录

sorting_order

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

context

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

返回值

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

更新日志

版本说明
8.0.0 现在 context 允许为 null。

示例

示例 #1 简单的 scandir() 示例

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

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

注释

小技巧

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

参见

  • opendir() - 打开目录句柄
  • readdir() - 从目录句柄中读取条目
  • glob() - 寻找与模式匹配的文件路径
  • is_dir() - 判断给定文件名是否是一个目录
  • sort() - 对数组升序排序
To Top