Avatar billede dragonbook Nybegynder
20. april 2007 - 17:47 Der er 6 kommentarer og
1 løsning

Størrelse af filer i en mappe

Kan man via php tælle hvor meget en række filer fylder i en mappe på serveren.
Avatar billede jakobdo Ekspert
20. april 2007 - 18:35 #1
http://www.php.net/filesize ->

function dirsize($path)
{
  $old_path = getcwd();
  if(!is_dir($old_path."/".$path)) return -1;
  $size = trim(shell_exec("cd \"".$old_path."/".$path."\"; du -sb; cd \"".$old_path."\";"), "\x00..\x2F\x3A..\xFF");

  return $size;
}
Avatar billede dragonbook Nybegynder
20. april 2007 - 18:42 #2
Den har jeg prøvet, men jeg får bare en blank side...

Bruger jeg:

<?php

// outputs e.g.  somefile.txt: 1024 bytes

$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';

?>

Kan jeg godt få fil størrelsen men kun på den ene fil...
Avatar billede dragonbook Nybegynder
20. april 2007 - 18:44 #3
Hvis nu jeg har en txt fil med alle filnavnene i hver sin række, kan jeg så på en eller anden måde få den til at køre alle filerne igennem og komme med et samlet resultat?
Avatar billede jakobdo Ekspert
20. april 2007 - 18:49 #4
Hvis vi kun snakker filer, så kan du lave:

$total = 0;
foreach (glob("*.*") as $filename) {
    $total += filesize($filename);
}

echo "Total : $total<br >";
Avatar billede dragonbook Nybegynder
20. april 2007 - 19:28 #5
Det virker perfekt, mange tak.

Smid lige et svar så er der point...
Avatar billede jakobdo Ekspert
20. april 2007 - 19:39 #6
Svar!
Avatar billede jakobdo Ekspert
08. maj 2007 - 19:14 #7
takker for point.
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