>백엔드 개발 >PHP 튜토리얼 >PHP에서 디렉토리 크기를 효율적으로 계산하려면 어떻게 해야 합니까?

PHP에서 디렉토리 크기를 효율적으로 계산하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-19 12:04:03305검색

How Can I Efficiently Calculate a Directory's Size in PHP?

PHP에서 폴더 크기 계산 이해

디렉터리 크기를 측정하는 것은 PHP에서 파일 시스템을 관리할 때 일반적인 작업입니다. 그러나 특정 접근 방식에서는 프로세서 사용량이 높아질 수 있습니다. 이 기사에서는 PHP에서 디렉터리 크기를 계산하기 위한 보다 최적화된 솔루션과 대안을 살펴봅니다.

질문에 제시된 원본 코드는 재귀 함수인 폴더 크기를 사용하여 파일과 폴더를 반복하여 크기를 누적합니다. 이 접근 방식은 작동하지만 알고리즘의 재귀적 특성으로 인해 성능에 영향을 미칠 수 있습니다.

이 프로세스를 최적화하기 위해 답변에 제안된 향상된 GetDirectorySize 함수는 보다 효율적인 접근 방식을 채택합니다.

function GetDirectorySize($path){
    $bytestotal = 0;
    $path = realpath($path);
    if($path!==false && $path!='' && file_exists($path)){
        foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object){
            $bytestotal += $object->getSize();
        }
    }
    return $bytestotal;
}

이 함수:

  • $path를 실제 경로로 변환하여 유효한 경로를 확인합니다.
  • 경로가 유효하고 폴더가 존재하는지 확인합니다.
  • RecursiveIteratorIterator를 사용합니다. 제외하고 디렉토리 트리를 반복합니다. 및 .. 파일을 사용하여 성능을 향상시킵니다.
  • 디렉토리에 있는 각 파일의 크기를 누적합니다.

이러한 최적화된 접근 방식을 사용하면 정확한 디렉토리 크기를 유지하면서 프로세서 사용량을 크게 줄일 수 있습니다. 계산.

위 내용은 PHP에서 디렉토리 크기를 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.