2017-01-15 9 views
0

誰もが別の型に、バイト、キロバイト、メガバイト、ギガバイトなど可能性タイプを変換する方法を知っています私は短い略語phpの型変換フォーマットメガバイトは

と私はKBに変換する必要がありメガバイトの値または任意の他のタイプのために補償する必要があるので、//これはメガバイトになる可能性が現時点での私の値は64メートルである

Helper::convertType(ini_get('upload_max_filesize'), 'kb'); the kb coulb be bytes or gb 
+0

http://stackoverflow.com/questions/2510434/format-bytes-to -kilobytes-megabytes-gigabytes – Axalix

答えて

1

あなたにこれを使うことができますそれは人間が読めるようにするヘルパーとしてコード:

 

    /** 
    * Converts bytes into human readable file size. 
    * 
    * @param string $bytes 
    * @return string human readable file size (2,87 Мб) 
    * @author Mogilev Arseny 
    */ 
    function FileSizeConvert($bytes) 
    { 
    $bytes = floatval($bytes); 
     $arBytes = array(
      0 => array(
       "UNIT" => "TB", 
       "VALUE" => pow(1024, 4) 
      ), 
      1 => array(
       "UNIT" => "GB", 
       "VALUE" => pow(1024, 3) 
      ), 
      2 => array(
       "UNIT" => "MB", 
       "VALUE" => pow(1024, 2) 
      ), 
      3 => array(
       "UNIT" => "KB", 
       "VALUE" => 1024 
      ), 
      4 => array(
       "UNIT" => "B", 
       "VALUE" => 1 
      ), 
     ); 

    foreach($arBytes as $arItem) 
    { 
     if($bytes >= $arItem["VALUE"]) 
     { 
      $result = $bytes/$arItem["VALUE"]; 
      $result = str_replace(".", "," , strval(round($result, 2)))." ".$arItem["UNIT"]; 
       break; 
      } 
     } 
     return $result; 
    } 

または手動でファイルサイズを変換するには、この機能を使用します。

 

    function changeType($size, $from, $to){ 
     $arr = ['B', 'KB', 'MB', 'GB', 'TB']; 
     $tSayi = array_search($to, $arr); 
     $eSayi = array_search($from, $arr); 
     $pow = $eSayi - $tSayi; 
     return $size * pow(1024, $pow) . ' ' . $to; 
    } 

    echo changeType(1, 'MB', 'KB'); 

+0

どのようにすればKBをKBに変換するか、特定のタイプをKBに64MBのように変換することができますか?これは、機能を実行したいものです。 – ONYX

+0

任意のタイプのファイルサイズ他のファイルサイズの種類に変換します。 これをプロジェクトで使用できます。 –