code.fastix.org

Dateiansicht:

Datei:Projekte -> PHP:Umrechnung zwischen Zahlensystemen -> humanReadableBi.php
md5:471fa4574ff2ce3f9f85a474ffb77fa4
sha1:84a93d67872c26117e357dc806bcfd65ad01732d
  1. <?php
  2. /**
  3.  * @author: Jörg Reinholz, fastix WebDesign & Consult, Kassel - http://www.fastix.org/
  4.  * @return string Rounded human readable Integers (E ~ exbi ... G ~ gibi ... K ~ kibi)
  5.  * @param  string       $s will be a float
  6.  * @param  integer      $p - decimals in return, Default: 2
  7.  * @param  string       $e - A Stringm given back after eg. the "B" in KB, Default: B
  8. **/
  9.  
  10.     function humanReadableBin ($s, $p=2, $e='B') {
  11.         $f = floatval( trim( $s ) );
  12.         if ($f >= 1152921504606846976) {
  13.             return ( round( ( $f / 1152921504606846976 ) , $p) . '&nbsp;E' . $e );
  14.         } elseif ($f >= 1125899906842624) {
  15.             return ( round( ( $f / 1125899906842624 ) , $p) . '&nbsp;P' . $e );
  16.         } elseif ($f >= 1099511627776) {
  17.             return ( round( ( $f / 1099511627776 ) , $p) . '&nbsp;T' . $e );
  18.         } elseif ($f >= 1073741824) {
  19.             return ( round( ($f / 1073741824 ) , $p) . '&nbsp;G' . $e );
  20.         } elseif ($f >= 1048576) {
  21.             return ( round( ( $f / 1048576 ) , $p) . '&nbsp;M' . $e );
  22.         } elseif ($f >= 1024) {
  23.             return (round( ( $f / 1024 ) , $p) . '&nbsp;K' . $e );
  24.         } else {
  25.             return $f . '&nbsp;'. $e';
  26.        }
  27.    }