Avatar billede kingrex666 Nybegynder
31. januar 2005 - 21:26 Der er 6 kommentarer og
1 løsning

find sidens samlede størelse

hej
er der en der har eller kan lave et script i php der kan finde størelsen på en hjemmeside.

Scriptet skal finde størelsen på alle filer i eget dir + subdir. og "sende" det til et echo på en anden side.

/Rasmus
Avatar billede stalle Nybegynder
31. januar 2005 - 21:32 #1
Såfremt serveren kører linux vil jeg tro at:

<?php
passthru("du -h".$_SERVER[DOCUMENT_ROOT]);
?>

kan gøre det
Avatar billede stalle Nybegynder
31. januar 2005 - 21:34 #2
eller med andre ord:

<?php
passthru("du -h <DIR>");
?>
Avatar billede hmortensen Nybegynder
31. januar 2005 - 21:56 #3
Kunne gøres sådan her:

<?php

function Storrelse($dir = ".")
{
    $str = 0;
    if ($handle = opendir($dir))
    {
        while (false !== ($file = readdir($handle)))
        {
            if ($file != "." && $file != "..")
            {
                if (is_dir($dir.'/'.$file))
                {
                    $str += Storrelse($dir.'/'.$file);
                } else {
                    $str += filesize($dir.'/'.$file);
                }
            }
        }
        closedir($handle);
    }
    return $str;
}

function Enheder($str)
{
    $enheder = array('b', 'Kb', 'Mb', 'Gb', 'Tb');
    $x = 0;
    while ($str >= 1024 && $x < count($enheder))
    {
        $str /= 1024;
        $x++;
    }
    return sprintf('%0.2f', $str).' '.$enheder[$x];
}

//Kaldes med mappens navn.
//Hvis tom, vælges aktuel mappe.
echo Enheder(Storrelse('mappe'));

?>
Avatar billede coderdk Praktikant
01. februar 2005 - 01:35 #4
Taget fra http://www.eksperten.dk/spm/575580

<?php

    set_time_limit( 0 );

    $size = 0;

    function getSize( $path )
    {
        global $size;
        if ( $d = opendir( $path ) )
        {
            $foldersize = 0;
            while ( $f = readdir( $d ) )
            {
                ( is_file( "$path/$f" ) )
                {
                    $s = filesize( "$path/$f" );
                    $size += $s;
                    $foldersize += $s;
                    echo "$path/$f " . $s . " b<br>";
                }
                elseif ( is_dir( "$path/$f" ) && $f != '.' && $f != '..' )
                {
                    getSize( "$path/$f" );
                }
            }
            echo "<br><b>Size of $path: $foldersize b</b><br>";
            closedir( $d );
        }
    }

    getSize( "." );

    echo "<br><br><b>Total size: $size bytes</b>";

?>
Avatar billede kingrex666 Nybegynder
08. marts 2008 - 10:02 #5
lukket
Avatar billede coderdk Praktikant
08. marts 2008 - 12:17 #6
Tak, tak
Avatar billede stalle Nybegynder
24. april 2008 - 15:19 #7
Ikke et minut for tidligt :D

Gad vide hvad enden på det blev..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester