PHP에서 디렉토리 크기를 효율적으로 계산하고 스크립트 성능을 향상하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-11-19 14:14:02
원래의
252명이 탐색했습니다.

How Can I Efficiently Calculate a Directory's Size in PHP and Improve Script Performance?

PHP에서 디렉토리 크기를 계산하고 스크립트 성능을 최적화하는 방법

PHP에서 디렉토리 작업을 할 때 크기를 결정해야 하는 경우가 많습니다. 디렉토리와 그 내용의 크기를 계산하는 것을 목표로 하는 코드 조각이 제공되었습니다. 그러나 실행 중에 프로세서 사용량이 급증하는 것으로 관찰되었습니다.

코드 최적화

제공된 코드를 최적화하고 프로세서 사용량을 줄이기 위해 대체 기능을 사용할 수 있습니다. 이는 PHP의 내장 디렉토리 반복 기능을 활용합니다:

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;
}
로그인 후 복사

최적화 구현

이 대체 기능:

  • 경로를 실제 경로로 변환합니다. 경로를 사용하여 기호 링크 또는 잘린 경로를 처리합니다.
  • 오류를 방지하기 위해 경로의 유효성을 확인하고 디렉터리가 존재하는지 확인합니다.
  • 특수 ., .. 및 Thumbs에 대한 반복을 건너뜁니다. .db 파일, 리소스 절약
  • 메인 루프 외부에서 함수를 초기화하여 성능을 향상합니다.

사용

이를 최적화하여 사용하려면 함수를 사용하려면 폴더 크기 함수를 GetDirectorySize로 바꾸면 됩니다. 예:

$disk_used = GetDirectorySize("C:/xampp/htdocs/freehosting/".$row['name']);
로그인 후 복사

결론

제안된 최적화는 PHP에 내장된 반복 기능을 활용하여 실행 중 프로세서 사용량을 줄여 상당한 성능 향상을 제공합니다. 이 접근 방식은 리소스 소비를 최적화하는 동시에 정확한 디렉터리 크기 계산을 보장합니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿