Вход Регистрация
Файл: size.php
Строк: 41
<?php

function CalcDirectorySize($DirectoryPath) {
 
    
// I reccomend using a normalize_path function here
    // to make sure $DirectoryPath contains an ending slash
    // (-> http://www.jonasjohn.de/snippets/php/normalize-path.htm)
 
    // To display a good looking size you can use a readable_filesize
    // function.
    // (-> http://www.jonasjohn.de/snippets/php/readable-filesize.htm)
 
    
$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;
}
 function 
formatSizeUnits($bytes)
    {
        if (
$bytes >= 1073741824)
        {
            
$bytes number_format($bytes 10737418242) . ' GB';
        }
        elseif (
$bytes >= 1048576)
        {
            
$bytes number_format($bytes 10485762) . ' MB';
        }
        elseif (
$bytes >= 1024)
        {
            
$bytes number_format($bytes 10242) . ' kB';
        }
        elseif (
$bytes 1)
        {
            
$bytes $bytes ' bytes';
        }
        elseif (
$bytes == 1)
        {
            
$bytes $bytes ' byte';
        }
        else
        {
            
$bytes '0 bytes';
        }

        return 
$bytes;
}

$SizeInBytes CalcDirectorySize('files/');

echo 
formatSizeUnits($SizeInBytes);
?>
Онлайн: 1
Реклама