Filesize

[php]$filesize = filesize(‚mp_files/‘.$ranhaenge[‚realname‘]);
if ($filesize > 999) {
$filesize = bcdiv($filesize, ‚1024‘, 0).’ KBytes’;
if ($filesize > 999) {
$filesize = bcdiv($filesize, ‚1024‘, 1).’ MBytes’;
if ($filesize > 999) {
$filesize = bcdiv($filesize, ‚1024‘, 2).’ GBytes’;
}
}
} else {
$filesize = $filesize.’ Bytes’;
}[/php]

bis KByte gehts noch, dann kommt 0.0 als ergebnis ^^

hat wer ne idee?

[PHP]

<?php $filesize = filesize('mp_files/'.$ranhaenge['realname']); $endung = array("Bytes","KiloBytes","MegaBytes","GigaBytes","TerraBytes"); $i = 0; while($filesize > 1024) { $filesize/=1024; $i++; } $filesize = round($filesize,2); $filesize .= " ".$endung[$i]; echo $filesize; ?>

[/PHP]

danke, kannst du vielleicht auch sagen, wieso es ned hingehauen hat bei mir ^^ steh voll auf der leitung :slight_smile:

bcdiv gibt einen String zurück, mit dem du nicht weiter rechnen kannst.
Du müsstest also nach jedem bcdiv wieder ein settype($filesize,‚float‘); machen

Außerdem hängst du beim ersten schon ein KByte ran, und versuchst dann in der nächsten if-schleife zb. 1020KByte zu dividieren.

KByte/1024 = ?