디렉토리 내의 파일 수를 계산하는 데 사용하는 PHP 함수가 있습니다.함수 내에서 기본 연산이 작동하지 않습니다.
function getFileCount($path) {
$size = 0;
$ignore = array('.','..','cgi-bin','.DS_Store');
$files = scandir($path);
foreach($files as $t) {
if(in_array($t, $ignore)) continue;
if (is_dir(rtrim($path, '/') . '/' . $t)) {
$size += getFileCount(rtrim($path, '/') . '/' . $t);
} else {
$size++;
}
}
return $size;
}
제대로 작동하지만 반환하기 전에 $ 크기를 2로 나누어야합니다.
'return $ size/2;' 60은 22.5가됩니다. 72는 19.125가된다. 그것은 나에게 이해가되지 않는다. 나는 또한 intdiv()를 시도하고 0.5 배로 시도해 보았습니다. 그리고 나는 다양한 결과를 얻었지만 그 중 아무 것도 올바른 것은 아닙니다.
나는 이것이 아마도 매우 기본적인 것으로 알고 있습니다.
함수 밖에서 나눗셈을하면 제대로 작동하지만 정수를 반환하기 전에 처리하려고합니다.
당신은 재귀 적으로 호출하기 때문에 일부 결과는 여러 번 나뉘어집니다. –
배열을 계산하고 정적을 뺍니다. 나는 루프의 추가 작업을 저장할 것이라고 생각한다. –
아득히 내가 서브 디렉토리 내에서 파일을 재귀 적으로 필요로 할 수 있다고 계산할 수있다. $ size의 최종 반환 값에 나누기를 적용하는 방법이 있습니까? – Koda