php读取目录及子目录下所有文件名的方法
时间: 2024-01-01 20:05:31 浏览: 21
可以使用PHP中的`RecursiveDirectoryIterator`类来递归读取目录及其子目录下所有文件,示例代码如下:
```php
function getFiles($dir) {
$files = array();
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
foreach ($iterator as $file) {
if ($file->isFile()) {
$files[] = $file->getFilename();
}
}
return $files;
}
```
这个函数接受一个目录路径作为参数,返回一个包含所有文件名的数组。
相关问题
php读取多级目录结构,目录结构 · AAPHP开发手册 · 看云
好的,我理解了你的问题。如果你想要读取多级目录结构,可以使用PHP的递归函数来实现。递归函数是指在函数内部调用自身的函数,可以用来处理嵌套的数据结构,比如多级目录。以下是一个示例代码,可以读取指定目录下的所有文件和子目录:
```
function readDirectory($dir) {
$list = scandir($dir);
foreach ($list as $filename) {
if ($filename == '.' || $filename == '..') {
continue;
}
$path = $dir . '/' . $filename;
if (is_dir($path)) {
readDirectory($path);
} else {
echo $path . "\n";
}
}
}
// 示例用法
readDirectory('/path/to/directory');
```
这个函数首先使用 `scandir()` 函数读取指定目录下的所有文件和子目录,然后遍历每个文件名。如果文件名是 `.` 或 `..`,则跳过。否则,如果文件是一个目录,就递归调用 `readDirectory()` 函数来处理子目录。如果文件是一个普通文件,则输出该文件的路径。