abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 398 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: php prevod cisel

    petka avatar 6.5.2010 14:40 petka | skóre: 25 | blog: heydax | Klasterec N/O
    php prevod cisel
    Přečteno: 1276×
    Mam tabulku , kterou taham z mysql a ve sloupic data_in a data_out jsou ulozena cisla v bytech a potreboval bych to doplnit o funkci prevodu cisla na B , kB , MB , GB . priklad 122.22 MB data jsou ulozena v bytech .
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

    Řešení dotazu:


    Odpovědi

    poky74 avatar 6.5.2010 15:15 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: php prevod cisel

    Podmínkou zjistit jestli je číslo (počet bytů) větší než počet bytů o jeden řád větší, potom dosaď jednotky.

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    petka avatar 6.5.2010 16:22 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php prevod cisel
    a muzu poprosit o pribliznou syntaxi
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    Řešení 1× (petka (tazatel))
    poky74 avatar 6.5.2010 16:52 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
    Rozbalit Rozbalit vše Re: php prevod cisel

    function hatatitla($byte){

    if($byte<1000){$kolik=$byte;$jednotka="B";}

    elseif($byte>=1000){$kolik=$byte/1000;$jednotka="kB";}

    elseif($byte>=1000000){$kolik=$byte/1000000;$jednotka="MB";}

    //atd atd

    return "".$kolik." ".$jednotka.""; }

    echo hatatitla(1000); //vrati 1kB

    Chcete Linuxové samolepky nebo Tuxe na klíče? ->
    Řešení 1× (petka (tazatel))
    6.5.2010 16:56 Vaclav Bohac | skóre: 3 | Kopřivnice, Vlčovice
    Rozbalit Rozbalit vše Re: php prevod cisel
    Tohle mi přišlo jako docela pěkné řešení:
    
    function fsize_unit_convert($bytes)
    {
        $units = array('b', 'kb', 'mb', 'gb');
        $converted = $bytes . ' ' . $units[0];
        for ($i = 0; $i < count($units); $i++) {
             if (($bytes/pow(1024, $i)) >= 1) {
                  $converted = round($bytes/pow(1024, $i), 2) . ' ' . $units[$i];}
             }
             return $converted;
        }
    }
    
    "A computer is like air conditioning: it becomes useless when you open windows." - Linus Torvalds
    petka avatar 6.5.2010 17:22 petka | skóre: 25 | blog: heydax | Klasterec N/O
    Rozbalit Rozbalit vše Re: php prevod cisel
    Dekuji moc vsem .
    Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
    7.5.2010 10:12 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php prevod cisel
    Jen připomínka je tam 1024 a jednotky kb, mb, gb, a to jsou dvě nesrovnalosti v jednom
    • Mělo by tam být 1000 nebo „binary“ jednotky KiB,MiB,GiB
    • Zapisujeme kB, MB, GB a KiB, MiB, GiB, malé 'b' jsou spíše bity (i když jej zapisujeme spíše jako bit tedy bit kbit, Mbit, Gbit a v binary (1024) Kibit, Mibit Gibit) než bajty
    To, že je to ve starších věcech nedobře(dle dnešních pravidel), by nemělo vést k tomu, aby jsme to dále nedobře používali. :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 9.5.2010 23:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: php prevod cisel
    Nebylo by lepší použít místo toho foru logaritmus?
    $i = (int) log($bytes, 2) / 10;
    Hello world ! Segmentation fault (core dumped)
    10.5.2010 13:13 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php prevod cisel
    Příloha:
    Nedalo mi to, bo obecně nemám rád „matematická“ řešení, azkusil jsme si to.
    Odpověď zní: „výkonnostně určitě bylo“ – je to více než 3× rychlejší.
    Ale pokud se to zpracuje jinak, tak už »nebylo« :).
    Výsledek při stejném počtu cyklů:
    HMST:  5.052839040756 sec (HumanReadableSizeTest)
     HMS:  6.325034141540 sec (HumanReadableSize)
     FSC: 23.292122125626 sec (fsize_unit_convert)
    FSCL:  7.134121179580 sec (fsize_unit_convert_log)
    
    Zdrojový kód v příloze spuštěný z řádku php -f test.php. :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 10.5.2010 14:32 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: php prevod cisel
    To volání pow() není fér...
    function fsize_unit_convert_log_optimized($bytes)
    {
    	static $units = array(
    		array(  ' B', 1),
    		array(' KiB', 1024.),
    		array(' MiB', 1048576.),
    		array(' GiB', 1073741824.),
    		array(' TiB', 1099511627776.),
    	);
    	$u = & $units[(int) log($bytes, 2) / 10];
    	return round($bytes / $u[1], 2).$u[0];
    }
    
    Test finished
     HMST: 4.99683594704 sec (HumanReadableSizeTest)
      HMS: 5.82857894897 sec (HumanReadableSize)
      FSC: 21.1713778973 sec (fsize_unit_convert)
     FSCL: 6.77399015427 sec (fsize_unit_convert_log)
    FSCL2: 4.63680100441 sec (fsize_unit_convert_log_optimized)
    
    :-P
    Hello world ! Segmentation fault (core dumped)
    10.5.2010 15:52 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php prevod cisel
    Sorry, nikdo neříkal, že ho mám dát pryč :) a lépe to podpořilo mé tvrzení :):):)
    Teď bych snad to mohl zmanipulovat jen tak, že bych vypustil Vaše „static“ abych to dorovnal :):):).
    PS: „Mezery“ jsem si všiml :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    6.5.2010 17:31 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: php prevod cisel
    Už jsem to napsal tak to pošlu :) - je to jen rozepsané a efektivnější než pow :).
    <?php
    
    $def_blockSize_1000 = Array(Array(1.0,'B'),
                                Array(1000.0,'kB'),
                                Array(1000000.0,'MB'),
                                Array(1000000000.0,'GB'),
                                Array(1000000000000.0,'TB'));
    $def_blockSize_1024 = Array(Array(1.0,'B'),
                                Array(1024.0,'KiB'),
                                Array(1024.0*1024.0,'MiB'),
                                Array(1024.0*1024.0*1024.0,'GiB'),
                                Array(1024.0*1024.0*1024.0*1024.0,'TiB'));
    
    function HumanReadableSize($value, $ain,$decimal=2,$dec_points='.',$thousands_sep='')
    { 
      if($value < 0)
        return "?";
      for($i = count($ain)-1;$i > 0;$i--)
      {
        if($value > $ain[$i][0])
          return number_format((float)$value / $ain[$i][0],$decimal,$dec_points,$thousands_sep) . $ain[$i][1];
      }
      return $value .  $ain[0][1];
    }
    
    echo "SI <br />\n";
    echo "900B = " . HumanReadableSize(900,$def_blockSize_1000) ." <br />\n";
    echo "1101B =" . HumanReadableSize(1101,$def_blockSize_1000) ." <br />\n";
    echo "1200123B = " . HumanReadableSize(1200123,$def_blockSize_1000) ." <br />\n";
    echo "1307895456B = " . HumanReadableSize(1307895456,$def_blockSize_1000) ." <br />\n";
    echo "1571597537412B ≈ " . HumanReadableSize(1571597537412,$def_blockSize_1000) ." <br />\n";
    echo "Binary <br />\n";
    echo "900B = " . HumanReadableSize(900,$def_blockSize_1024) ." <br />\n";
    echo "1101B = " . HumanReadableSize(1101,$def_blockSize_1024) ." <br />\n";
    echo "1200123B = " . HumanReadableSize(1200123,$def_blockSize_1024) ." <br />\n";
    echo "1307895456B = " . HumanReadableSize(1307895456,$def_blockSize_1024) ." <br />\n";
    echo "1571597537412B ≈ " . HumanReadableSize(1571597537412,$def_blockSize_1024) ." <br />\n";
    
    return;
    ?>
    
    PS: pokud pracujete s velkými čísly (v terách a v 64bit Integer-u) udělejte to už na straně SQL.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.