有人可以帮帮我吗?我看不到。以下函数不返回数组。 print_r($list)
(return
上方)在屏幕上打印数组。但是print_r($files)
返回一个空数组....
function listFolderFiles($dir){
$ffs = scandir($dir);
$i = 0;
$list = array();
foreach ( $ffs as $ff ){
if ( $ff != '.' && $ff != '..' ){
if ( strlen($ff)>=5 ) {
if ( substr($ff, -4) == '.mp4' ) {
$value = $dir.'/'.$ff;
$list[] = $value;
}
}
if( is_dir($dir.'/'.$ff) )
listFolderFiles($dir.'/'.$ff);
}
}
print_r($list); // Returns the full array with values
return $list;
}
$files = listFolderFiles($_POST['path']);
print_r($files) // Returns an empty array..... :(:(
答案 0 :(得分:3)
您的递归调用不处理返回的数组:
listFolderFiles($dir.'/'.$ff);
你需要在这里合并数组:
$list = array_merge($list, listFolderFiles($dir.'/'.$ff) );