PHP를 사용하여 디렉터리 크기를 결정하는 방법
하위 디렉터리를 포함한 디렉터리의 크기를 계산하는 것은 파일 관리에 있어 중요한 작업일 수 있습니다. 저장 및 성능. 이 기사에서는 최적화된 접근 방식을 사용하여 PHP에서 이를 달성하는 방법을 보여줍니다.
기존 방법
제공된 PHP 코드 조각은 다음과 같이 디렉토리 크기를 계산합니다. 다음은 다음과 같습니다.
function foldersize($path) { $total_size = 0; $files = scandir($path); foreach($files as $t) { if (is_dir(rtrim($path, '/') . '/' . $t)) { if ($t<>"." && $t<>"..") { $size = foldersize(rtrim($path, '/') . '/' . $t); $total_size += $size; } } else { $size = filesize(rtrim($path, '/') . '/' . $t); $total_size += $size; } } return $total_size; }
최적화
원래 코드에서는 불필요한 재귀 함수 호출 및 중복 파일 존재 확인으로 인해 성능 문제가 나타났습니다. 아래의 최적화된 기능은 이러한 문제를 해결합니다.
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 = '/var/www/html/myproject'; $directorySize = GetDirectorySize($path); echo "Size of '$path': " . format_bytes($directorySize);
이 코드는 지정된 디렉터리의 크기를 측정하고 결과를 사람이 읽을 수 있는 형식으로 표시합니다.
위 내용은 PHP에서 디렉토리 크기를 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!