За последние 24 часа нас посетил 50901 программист и 1761 робот. Сейчас ищут 959 программистов ...

Есть скрипт который выводит дисковую квоту в байтах а мне ну

Тема в разделе "PHP для новичков", создана пользователем dobs, 9 июл 2007.

  1. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Vladson, я исправил ;) выше посмотри мой пост.

    PHP:
    1. print sizeToStr(1024*1024*1024*1024*1024*1024*1024*1024*1024*1024);
    Код (Text):
    1. 1048576 Йб
     
  2. dobs

    dobs Активный пользователь

    С нами с:
    23 дек 2006
    Сообщения:
    145
    Симпатии:
    0
    Кто то то обещал помочь...
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    dobs тебе тут нарисовали как минимум 3 рабочих решения, чем они тебя не устраивают?
     
  4. dobs

    dobs Активный пользователь

    С нами с:
    23 дек 2006
    Сообщения:
    145
    Симпатии:
    0
    Большое спасибо Вам Vladson
    Код (Text):
    1. <?php
    2.  
    3. //Переменные
    4. $quota = "102400000";
    5. $dir = "Z:\home\localhost\admin_by_dobs\php";
    6. $lang_total = "<b>Total files</b>";
    7. $lang_total = "<b>Total directories</b>";
    8. $lang_files = "files";
    9. $lang_directories = "directories";
    10. $lang_used = "Использовано";
    11.  
    12.  
    13.  
    14. function get_size($dir) {
    15.        $speicher = 0;
    16.        $dateien = 0;
    17.        $verz = 0;
    18.        if ($handle = @opendir($dir)) {
    19.            while ($file = readdir($handle)) {
    20.                if($file != "." && $file != "..") {
    21.                    if(@is_dir($dir."/".$file)) {
    22.                        $wert = get_size($dir."/".$file);
    23.                        $speicher +=  $wert[2];
    24.                        $dateien +=  $wert[0];
    25.                        $verz +=  $wert[1];
    26.                        $verz++;
    27.                    } else {
    28.                        $speicher += @filesize($dir."/".$file);
    29.                        $dateien++;
    30.                    }
    31.                }
    32.            }
    33.        closedir($handle);
    34.        }
    35.        $zurueck[0] = $dateien;
    36.        $zurueck[1] = $verz;
    37.        $zurueck[2] = $speicher;
    38.        return $zurueck;
    39. }
    40.  
    41.  
    42. $array = get_size($dir);
    43.  
    44.  
    45. echo"<font size=2><br><br>
    46. <b>".$lang_total." ".$lang_files."</b> - ".$array[0]." ".$lang_files."<br>
    47. <b>".$lang_total." ".$lang_directories."</b> - ".$array[1]." ".$lang_directories."<br></font>";
    48.  
    49.  
    50. function _formatSize($size = 0)
    51.     {
    52.         if ($size >= 1073741824) $size = round($size/1073741824*100)/100 . " Gb";
    53.         else if ($size >= 1048576) $size = round($size/1048576*100)/100 . " Mb";
    54.         else if ($size >= 1024) $size = round($size/1024*100)/100 . " kb";
    55.         else $size = $size . " bytes";
    56.         return $size;
    57.     }
    58.  
    59. echo _formatSize($array[2]);
    60.  
    61.  
    62. ?>
     
  5. Anonymous

    Anonymous Guest

    гы. Жжоте. Письками меряетесь?
     
  6. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Горбунов Олег угу, только вот не у кого больше, а у кого меньше :D И траву курим... :roll:
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Дык дождь на улице, гулять идти не прёт, остаётся форум "флудерастить" :D
     
  8. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Рабочие будни :( Все на нервах.
     
  9. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    много всего!!!
    Ну просто до кучи:
    PHP:
    1.  
    2. function to_Size($rSize){
    3.   if(round($rSize/1024)<=0)return $rSize.'&nbsp;b';
    4.   if(round($rSize/(1024*1024))<=0)return round(($rSize/1024),2).'&nbsp;Kb';
    5.   if(round($rSize/(1024*1024*1024))<=0)return round(($rSize/(1024*1024)),2).'&nbsp;Mb';
    6.   if(round($rSize/(1024*1024*1024*1024))<=0)return round(($rSize/(1024*1024*1024)),2).'&nbsp;Gb';
    7.  
    8. }
    9.  
     
  10. fanta

    fanta Активный пользователь

    С нами с:
    19 апр 2007
    Сообщения:
    53
    Симпатии:
    0
    $_size=number_format(ПЕРЕМЕННАЯ С РАЗМЕРОМ/(1024), 1, ',', ' ');
    $_size получается в KB

    $_size=number_format(ПЕРЕМЕННАЯ С РАЗМЕРОМ/(1024*1024), 1, ',', ' ');
    $_size получается в MB

    И тд....
     
  11. Anonymous

    Anonymous Guest

    Двоешники =))
    PHP:
    1. <?php
    2. define('BYTES_AS_IS',0);
    3. define('BYTES_AS_KB',1);
    4. define('BYTES_AS_MB',2);
    5. define('BYTES_AS_GB',3);
    6. define('BYTES_AS_TB',4);
    7.  
    8. function ToSize($size,$dim = BYTES_AS_IS,$round=true,$prec=2)
    9. {
    10.   $val = $size/(pow(1024,$dim));
    11.   return ($round)?(round($val,$prec)):$val;
    12. }
    13. ?>
     
  12. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Горбунов Олег нужно автоматическое определение диапазона, чтобы число не вышло за пределы от 1 до 1024.
     
  13. Anonymous

    Anonymous Guest

    хы.
    PHP:
    1. <?php
    2. /* - константы размерностей - */
    3.  define('BYTES_AS_IS',0);
    4.  define('BYTES_AS_KB',1);
    5.  define('BYTES_AS_MB',2);
    6.  define('BYTES_AS_GB',3);
    7.  define('BYTES_AS_TB',4);
    8.  define('BYTES_AS_PB',5);
    9. /* - суффиксы размерностей - */
    10.  define('BYTES_PREFIX_0',' bytes');
    11.  define('BYTES_PREFIX_1',' Kbytes');
    12.  define('BYTES_PREFIX_2',' Mbytes');
    13.  define('BYTES_PREFIX_3',' Gbytes');
    14.  define('BYTES_PREFIX_4',' Tbytes');
    15.  define('BYTES_PREFIX_5',' Pbytes');
    16.  
    17. function BytesToSize($size,$dim = BYTES_AS_IS,$round=true,$prec=2)
    18.   {
    19.         $val = $size/(pow(1024,$dim));
    20.         return ($round)?(round($val,$prec)):$val;
    21.   }
    22.  
    23. function BytesAutoSize($size,$named=true,$round=true,$prec=2)
    24.     {
    25.         $i = 0; $ch = $size;
    26.         while ($ch>=1024) { $ch/=1024; $i++; }
    27.         $newSize = BytesToSize($size,$i,$round,$prec);
    28.         return (!$named)?$newSize:$newSize.constant('BYTES_PREFIX_'.$i);
    29.     }
    30. ?>
     
  14. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Горбунов Олег скорость будем мерять? 8)
     
  15. Anonymous

    Anonymous Guest

    Sergey89, для меня удобство важнее, чем миллисекунда. Тем более, в таких мелочах.