Well, depends on your definition of a kb, mb, gb, etc..

You seem to be mixing definitions here.

One school of thought is that...

1000 bytes = 1 kb
1000 kb = 1 mb
1000 mb = 1 gb

In reality...

1024 bytes = 1 kb
1024 kb = 1 mb
1024 mb = 1 gb

You're checking filesize against the '1000' method then you're returning a 
number based on the '1024' method.

You should always be consistant across the board.

-TG

= = = Original message = = =

i made this function and want to know if i am doing the math correctly..
seems to be caculating ok.. $filesize is in bytes.. if the filesize is under
1MB i want to show KBs, if its under 1GB i want to show MB, if its over
1000MB i want to show GB, makes sense? ;)

function byte_format($filesize)

     if ($filesize < 1000000)
     
          return number_format($filesize / 1024, 2, '.', '') . ' KB';
     
     else if($filesize > 1000000000)
     
         return number_format($filesize / 1024 / 1024 / 1024, 2, '.', '') .
' GB';
     
     else
     
        return number_format($filesize / 1024 / 1024, 2, '.', '') . ' MB';


___________________________________________________________
Sent by ePrompter, the premier email notification software.
Free download at http://www.ePrompter.com.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to