<?php
$files = array();
function listFolderFiles($dir, &$files){
$ffs = scandir($dir);
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
if(is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
else array_push($files, array('file' => $dir.'/'.$ff, 'hash' => hash_file('md5', $dir.'/'.$ff)));
}
}
}
listFolderFiles('/var/www', $files);
var_dump($files);
?>
$dir.'/'.$ff
返回我想要的所有信息。但是当我使用数组推送时,它只返回array的9个元素。我可以解决这个问题吗?我做错了什么?
答案 0 :(得分:2)
你没有通过递归传递$files
数组:
if (is_dir($dir.'/'.$ff)) {
listFolderFiles($dir.'/'.$ff, $files);
^^^^^^
} ...