"PHP" / Говнокод #6493 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
// Подходы различной национальности

/* Первый */
function filesize_format($bytes, $format = '', $force = ''){
   $force = strtoupper($force);
   $defaultFormat = '%01d %s';
   if (strlen($format) == 0)
   $format = $defaultFormat;
   $bytes = max(0, (int) $bytes);
   $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
   $power = array_search($force, $units);
   if ($power === false)
   $power = $bytes > 0 ? floor(log($bytes, 1024)) : 0;
   return sprintf($format, $bytes / pow(1024, $power), $units[$power]);
}
/* Второй */
function files_size( $size )
{
    $name = array('Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
    $mysize = $size ? round( $size / pow(1024, ( $i = floor( log( $size, 1024 ) ) ) ), 2) .' ' .$name[$i] : $size.' Bytes';
    return $mysize;
}
/* Третий */
   function humanSize($size) {
      $a = array("bytes", "kb", "Mb", "Gb", "Tb", "Pb");
      $pos = 0;
      while ($size >= 1024) {
       $size /= 1024;
       $pos++;
      }
      return round($size,2)." ".$a[$pos];
     }

Вопрос: Определите географические координаты места написания каждого...

Запостил: DoctorHouse DoctorHouse, (Updated )

Комментарии (28) RSS

  • Индусы, китайцы, только третий метод нормальный ...
    Ответить
  • Лучшее что видел:
    function format_bytes($size) {
    $units = array(' B', ' KB', ' MB', ' GB', ' TB');
    for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
    return round($size, 2) . $units[$i];
    }
    Ответить
  • доктор лошадь? вы часто задаёте и решаете загади?
    Ответить
  • Все три кода написаны в одном месте: там, где в момент написания находился ОП.
    Ответить
  • Встретились, как-то, русский, индус и китаец...
    Ответить
      • функция Формат(размер) {
        	знач = [' B', ' КБ', ' МБ', ' ГБ', ' ТБ'];
        	цикл (и равно 0; размер большеИлиРавно 1024 И и меньше 4; и равно и плюс 1)
        		размер равно размер разделитьНа 1024;
        	возврат округлить(размер, 2) + знач[и];
        }
        Ответить
        • 函數的格式(大小){
          值=['乙','KB的','MB的','國標','結核病'];
          週期(等於 0,其尺寸大於或等於1024和小於 4,和equals,再加上1)
          大小相等的大小除以1024;
          返回圓形(大小,2)+表示[和];
          }
          Ответить
          • Функция формат (размер) {
              Value = ['B', 'КБ's "," MB's "," ГБ "," туберкулез "];
              Цикл (равен 0, его размер больше или равна 1024 и менее 4, а равно, плюс 1)
              Равные по размеру 1024;
              Вернуться тур (размер, 2) + средств [и];
              }
            Ответить
        • समारोह फ़ॉर्मेट (आकार) {
          VALUE = ['बी','KB', 'MB', 'जीबी', 'टीबी'];
          चक्र (0 के बराबर है, अधिक से अधिक के आकार की तुलना में या 1024 के बराबर है और 4 से कम है, और बराबर है, और 1 से अधिक)
          आकार 1024 से विभाजित आकार के बराबर है;
          बदले दौर (आकार, 2) + [और] का मतलब है;
          }
          Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8