当需要获取一个目录下的所有文件名时,我们可以使用 PHP 的 opendir() 函数。以下是完整攻略:
当需要获取一个目录下的所有文件名时,我们可以使用 PHP 的 opendir()
函数。以下是完整攻略:
函数原型
resource opendir ( string $path [, resource $context ] )
path
: 需要打开的目录路径。context
: 一个包含stream contexts
配置的环境变量数据流。
该函数返回一个目录句柄选项,一个可供 readdir()
和 closedir()
使用的资源类型的值。
代码实例
以下示例展示如何使用 opendir()
和 readdir()
遍历一个目录中的所有文件:
$dir = "/path/to/dir";
$dh = opendir($dir);
while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != "..") {
echo "filename : " . $file . "<br>";
}
}
closedir($dh);
注释:
opendir()
函数打开指定的目录并返回一个目录句柄作为资源类型的值。while()
循环使用readdir()
读取当前打开目录的每个文件,检查文件名是否是.
或..
。如果不是,则使用echo()
语句打印输出。echo
的 作用是输出内容到当前文件。closedir()
函数关闭由opendir()
函数打开的指定目录。
更进一步地,我们可以使用 is_dir()
等函数判断文件类型,使用 basename()
获取不带路径的文件名,以及对目录进行递归遍历。以下是第二个示例代码:
function dir_tree($dir){
$dh = opendir($dir);
while($file = readdir($dh)){
if($file !== '.' && $file !== '..'){
$fullpath = $dir.'/'.$file;
if(is_dir($fullpath)){
echo 'dir:', $fullpath, "<br />";
dir_tree($fullpath);
}
else{
echo 'file:', $fullpath, "<br />";
}
}
}
closedir($dh);
}
$dir = 'path/to/dir/';
dir_tree($dir);
注释:
is_dir()
函数用于判断一个文件是否为目录。basename()
函数可以获取不带路径的文件名。dir_tree()
函数进行递归遍历,首先打开路径指定目录,遍历目录中的每个文件,判断是否是目录,是的话递归遍历该目录,否则输出该文件的完整路径。
以上是使用 opendir()
函数列出目录下所有文件的实例代码的完整攻略,如果您对此还有疑问,欢迎提出。
沃梦达教程
本文标题为:php opendir()列出目录下所有文件的实例代码
基础教程推荐
猜你喜欢
- strpos() 函数判断字符串中是否包含某字符串的方法 2022-12-05
- php+laravel 扫码二维码签到功能 2023-06-12
- Mac系统下安装PHP Xdebug 2022-10-12
- ThinkPHP5.0框架使用build 自动生成模块操作示例 2023-01-07
- PHP学习之输出字符串(echo,print,printf,print_r和var_dump) 2024-03-30
- php生成静态html页面的方法(2种方法) 2024-04-10
- php实现简单四则运算器 2023-05-03
- PHP使用递归按层级查找数据的方法 2023-03-12
- 详解PHP的抽象类和抽象方法以及接口总结 2022-12-30
- PHP生成腾讯云COS接口需要的请求签名 2022-10-18