【发布时间】:2018-06-22 02:28:46
【问题描述】:
我正在尝试制作递归 PHP 函数,它将遍历目录和子目录树并将所有目录和文件放在一个数组中。
我的代码看起来合乎逻辑,但它不起作用。
目录和文件树:
PHP 代码
<?php
function printFiles($directory) {
$files = array();
foreach (scandir($directory) as $file) {
if ($file === '.' || $file === '..')
continue;
// checking is it file or directory
if (is_dir($directory . '\\'. $file)) {
return printFiles($directory . '\\'. $file);
}
array_push($files, $file);
}
return($files);
}
$directory = 'C:\Users\Jakov\Desktop\DIRECTORIES';
print_r(printFiles($directory));
?>
我得到了这个结果:
Array ( )
【问题讨论】:
-
尝试在您的函数中回显/记录以找出它正在检查的内容以及正在插入的内容。
-
我也试过了。由于某种原因,程序未通过以下 IF 语句条件:
if (is_dir($directory . '\\'. $file));。