Avatar billede dotcom1 Nybegynder
29. oktober 2004 - 15:47 Der er 7 kommentarer og
1 løsning

Vise total størrelse i php-script

I dette script, der viser antal filer, filtyper og størrelse i mb.:

<?
$typer = array( "php", "pdf", "htm", "zip", "jpg", "avi" ); //delete or add types here.

foreach( $typer as $type ) {
$bytes=0;
$filer=0;
tree( "./", $type, 3, "" ); //or replace "./" with a specific path.
$kb = $bytes/1024;
$mb=$kb/1024;
$gb=$mb/1024;
$size[$type] = $mb;
$files[$type] = $filer;
}

$filestotal=0;
$bytestotal=0;
foreach( $size as $type => $mb) {
echo "<b>$files[$type]</b>" . " " . "." .$type . "-filer " . " " . "som fylder i alt " . " " . number_format($mb, 2, ',', '.') . " " . "mb." . "<br />";
$filestotal += $files[$type];
$bytestotal += $bytes;
}

function tree( $path, $type ) {
global $bytes, $filer;

$d = dir($path);
while (false !== ($entry = $d->read())) {
$etdir = is_dir($path.$entry);
if( $entry != "." && $entry != ".." && $entry != "" ) {
$path_parts = pathinfo($entry);
if( strstr($type, $path_parts["extension"]) || $type=="*" && !$etdir ) {
$bytes += filesize($path.$entry);
$filer++;
}
if( $etdir ) {
tree( $path.$entry."/", $type);
}
}
}
$d->close();
}
?>

Hvordan får man scriptet til at vise den totale størrelse af alle filerne tilsammen? Altså fx. "I alt xx mb."

Mvh.
Avatar billede bojo Nybegynder
29. oktober 2004 - 16:16 #1
sæt $size['alle'] til 0 i starten og så

$size['alle'] += $mb;
Avatar billede dotcom1 Nybegynder
29. oktober 2004 - 17:20 #2
ok, tak. "Sæt $size['alle'] til 0 i starten" - betyder det $size['alle']=0; ? Hvor skal det stå?
Avatar billede bojo Nybegynder
30. oktober 2004 - 08:47 #3
indsæt $size['alle']=0; efter <? og før foreach( $typer as $type ) {

indsæt $size['alle'] += $mb; efter tree( "./", $type, 3, "" ); //or replace "./" with a specific path.
Avatar billede dotcom1 Nybegynder
31. oktober 2004 - 12:15 #4
Det virker, men når jeg indsætter $size['alle']=0; så skriver den
".alle-filer som fylder i alt xx mb." før den lister alle mine filer og "I alt" til sidst.
Får udskrevet "I alt" med sætningen: echo "<strong>- I alt" . " " . number_format($size['alle'] += $mb, 2, ',', '.') . " " . "mb.</strong>";
Avatar billede bojo Nybegynder
31. oktober 2004 - 17:47 #5
nåå ja - så lav  $size['alle'] om til bare at hedde $alle
Avatar billede dotcom1 Nybegynder
31. oktober 2004 - 20:52 #6
Perfekt, så virker det. Læg et svar, bojo. ;)
Avatar billede bojo Nybegynder
31. oktober 2004 - 22:34 #7
nej tak
Avatar billede dotcom1 Nybegynder
31. oktober 2004 - 22:36 #8
Okay, men mange tak for hjælpen... ;-)
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