2013-11-21 4 views
0

Я хотел бы получить список всех файлов, присутствующих в каталоге и всех его подписях. Я сделал следующий код, но я не понимаю, почему он продолжает давать мне пустой массив. Это как если бы массив_merge не сливал мои вещи.Повторно отобразить файлы в каталоге

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, ...) 

Заранее спасибо за вашу помощь.

ответ

3

array_merge возвращает объединенный массив, так что вам нужно сделать:

$array_files = array_merge($array_files, self::get_all_files($dir.'/'.$file)); 
+0

Спасибо большое, я был так глуп! – Manitoba

Смежные вопросы