code.fastix.org

Dateiansicht:

Datei:Projekte -> PHP:Umrechnung zwischen Zahlensystemen -> humanReadableBi.php
md5:fdf2ed19b898bba5c68ad5eb147c870d
sha1:1a1cd1157513756f17fbf3231ccd3e10a4e88171
  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 String given back after eg. the "B" in KB, default: B
  8.  * @param  string       $t - Separate between number and multiplicator, default '&nbsp;''
  9. **/
  10.  
  11.     function humanReadableBin ($s, $p=2, $e='B', $t='&nbsp;') {
  12.         $f = floatval( trim( $s ) );
  13.         if ($f >= 1152921504606846976) {
  14.             return ( round( ( $f / 1152921504606846976 ) , $p) . $t . 'E' . $e );
  15.         } elseif ($f >= 1125899906842624) {
  16.             return ( round( ( $f / 1125899906842624 ) , $p) . $t . 'P' . $e );
  17.         } elseif ($f >= 1099511627776) {
  18.             return ( round( ( $f / 1099511627776 ) , $p) . $t . 'T' . $e );
  19.         } elseif ($f >= 1073741824) {
  20.             return ( round( ($f / 1073741824 ) , $p) . $t . 'G' . $e );
  21.         } elseif ($f >= 1048576) {
  22.             return ( round( ( $f / 1048576 ) , $p) . $t . 'M' . $e );
  23.         } elseif ($f >= 1024) {
  24.             return (round( ( $f / 1024 ) , $p) . $t . 'K' . $e );
  25.         } else {
  26.             return $f . $t . $e;
  27.         }
  28.     }