Php 循环列出目录中的文件
我想得到一个目录中所有文件及其子目录的列表。 我已经编写了以下代码,但我不明白为什么它总是给我一个空数组。 就好像数组合并没有合并我的东西一样Php 循环列出目录中的文件,php,file,recursion,Php,File,Recursion,我想得到一个目录中所有文件及其子目录的列表。 我已经编写了以下代码,但我不明白为什么它总是给我一个空数组。 就好像数组合并没有合并我的东西一样 public static function get_all_files($dir) { $array_files = array(); $files = scandir($dir); foreach ($files as $file) { if ($file == '.' || $file == '..') cont
public static function get_all_files($dir) {
$array_files = array();
$files = scandir($dir);
foreach ($files as $file) {
if ($file == '.' || $file == '..') continue;
if (is_dir($dir.'/'.$file)) array_merge($array_files, self::get_all_files($dir.'/'.$file));
else $array_files[] = $file;
}
return $array_files;
}
我期望得到的回报是这样一个数组:
array('file_1', 'file_2', 'file_3, ...)
提前感谢您的帮助。返回合并的阵列,因此您需要执行以下操作:
$array_files = array_merge($array_files, self::get_all_files($dir.'/'.$file));
返回合并的数组,因此需要执行以下操作:
$array_files = array_merge($array_files, self::get_all_files($dir.'/'.$file));
返回合并的数组,因此需要执行以下操作:
$array_files = array_merge($array_files, self::get_all_files($dir.'/'.$file));
返回合并的数组,因此需要执行以下操作:
$array_files = array_merge($array_files, self::get_all_files($dir.'/'.$file));