PHP读取指定目录下所有文件的方法
本文详细讲解利用 PHP 内置函数读取指定目录下所有文件名的完整流程与代码实现。
目标与准备
目标:在 PHP 脚本中获取某个本地文件夹(例如 /temp/)中的所有文件名,并以列表形式输出。
前提条件:
- 已安装并运行 PHP 环境。
- PHP 具有访问目标目录的权限。
- 已知待操作的绝对路径或相对路径(如
E:/temp/或/temp/)。
操作顺序
第一步:设置目标路径
首先定义包含文件的父目录字符串。若 web 根目录与目标在同一分区,直接使用相对路径;否则建议使用绝对路径以确保准确性。
$current_dir = '/temp/'; // 替换为实际路径
第二步:打开目录句柄
使用 opendir() 函数打开上述目录,并将资源赋给变量以便后续操作。如果路径不存在或无权限,将返回 false。
$dir = opendir($current_dir);
第三步:循环读取并过滤文件
通过 while 循环配合 readdir() 逐个取出目录项。由于 . 代表当前目录,.. 代表上级目录,必须将其过滤以免出现在结果中。
echo "<ul>";
while(false !== ($file = readdir($dir))) {
if ($file != "." && $file != "..") {
echo "<li>$file</li>";
}
}
echo "</ul>";
第四步:关闭目录连接
遍历完成后,调用 closedir() 释放资源。
closedir($dir);
注意事项
- 确保路径字符串以斜杠结尾,或在
readdir拼接时保持一致性,避免跨系统路径解析差异。 - 此方法仅列出文件名称,如需进一步判断是否为隐藏文件或子目录,可结合
is_file()函数进行筛选。
完成状态
当浏览器访问运行此段 PHP 代码的地址时,将直接展示一个 <ul><li> 结构的所有非特殊目录项列表,达到快速罗列文件的目的。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









