system
2. März 2007 um 09:13
1
[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?
Frank
2. März 2007 um 13:47
2
[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]
system
5. März 2007 um 07:32
3
danke, kannst du vielleicht auch sagen, wieso es ned hingehauen hat bei mir ^^ steh voll auf der leitung
Frank
5. März 2007 um 14:38
4
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 = ?