Return to Snippet

Revision: 72156
at May 22, 2017 18:17 by apphp-snippets


Initial Code
<?php
/**
 * Calculate the full size of a directory
 * @param string $DirectoryPath Directory path
 */
function CalcDirectorySize($DirectoryPath) {
    // I reccomend using a normalize_path function here
    // to make sure $DirectoryPath contains an ending slash
    // To display a good looking size you can use a readable_filesize
    // function.
    $Size = 0;
    $Dir = opendir($DirectoryPath);
    if (!$Dir) return -1;
    while (($File = readdir($Dir)) !== false) {
        // Skip file pointers
        if ($File[0] == ) continue;
        // Go recursive down, or add the file size
        if (is_dir($DirectoryPath . $File)) {
            $Size += CalcDirectorySize($DirectoryPath . $File . DIRECTORY_SEPARATOR);
        }
        else {
            $Size += filesize($DirectoryPath . $File);
        }
    }
    closedir($Dir);
    return $Size;
}
?>

Initial URL
www.apphp.com/index.php?snippet=php-calculate-directory-size

Initial Description
This code allows to calculate the full size of a directory using PHP.

Initial Title
Calculate Full Size of Directory in PHP

Initial Tags
php, directory

Initial Language
PHP