Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环列出目录中的文件_Php_File_Recursion - Fatal编程技术网

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));