How can the PHP code provided be improved to accurately calculate the size of a folder?

The issue with the current PHP code is that it only calculates the size of files within the folder, not the size of the entire folder including its subfolders. To accurately calculate the size of a folder, we need to recursively iterate through all files and subfolders within the specified folder and sum up their sizes. Here is an improved PHP code snippet that accurately calculates the size of a folder including its subfolders:

function getFolderSize($dir) {
    $total_size = 0;
    $files = scandir($dir);

    foreach($files as $file) {
        if ($file != "." && $file != "..") {
            if (is_dir($dir . DIRECTORY_SEPARATOR . $file)) {
                $total_size += getFolderSize($dir . DIRECTORY_SEPARATOR . $file);
            } else {
                $total_size += filesize($dir . DIRECTORY_SEPARATOR . $file);
            }
        }
    }

    return $total_size;
}

$folder_path = "/path/to/folder";
$size_in_bytes = getFolderSize($folder_path);
$size_in_kb = round($size_in_bytes / 1024, 2);
$size_in_mb = round($size_in_bytes / 1048576, 2);

echo "Folder size: " . $size_in_bytes . " bytes / " . $size_in_kb . " KB / " . $size_in_mb . " MB";