📅  最后修改于: 2023-12-03 14:45:22.491000             🧑  作者: Mango
在 PHP 中,可以使用 scandir
函数列出指定目录中的所有文件和子目录。以下是一个示例代码:
$dir = '/path/to/directory';
$files = scandir($dir);
foreach ($files as $file) {
if ($file !== '.' && $file !== '..') {
echo "$file\n";
}
}
上面的代码会将指定目录 $dir
中的所有文件和子目录打印出来。注意,这里要过滤掉 .
和 ..
这两个特殊目录,因为它们是在所有目录中都存在的,不具有实际意义。
如果需要对目录进行递归处理,可以使用递归函数实现:
function list_files($dir) {
$files = scandir($dir);
foreach ($files as $file) {
if ($file === '.' || $file === '..') {
continue;
}
$path = $dir . '/' . $file;
if (is_dir($path)) {
list_files($path);
} else {
echo "$path\n";
}
}
}
上面的代码中,list_files
函数会递归处理目录中的子目录,直到所有文件都被列出为止。注意,这里同样要过滤掉 .
和 ..
这两个特殊目录。
除了 scandir
函数外,PHP 中还有很多与目录相关的函数,比如 mkdir
、rmdir
、opendir
、closedir
等等。了解这些函数的使用可以更加灵活地操作文件系统。