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 15:00 | Nová verze

    Všem vše nejlepší do nového roku 2026.

    Ladislav Hagara | Komentářů: 6
    dnes 13:33 | Zajímavý software

    Crown je multiplatformní open source herní engine. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT a GPLv3+. Byla vydána nová verze 0.60. Vyzkoušet lze online demo.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Zajímavý článek

    Daniel Stenberg na svém blogu informuje, že po strncpy() byla ze zdrojových kódů curlu odstraněna také všechna volání funkce strcpy(). Funkci strcpy() nahradili vlastní funkcí curlx_strcopy().

    Ladislav Hagara | Komentářů: 1
    dnes 03:00 | Nová verze

    Byla vydána nová verze 25.12.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    29.12. 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    NUKE GAZA! 🎆 | Komentářů: 14
    29.12. 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    NUKE GAZA! 🎆 | Komentářů: 7
    29.12. 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    NUKE GAZA! 🎆 | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (31%)
     (1%)
     (25%)
     (1%)
     (1%)
     (1%)
     (11%)
     (10%)
     (18%)
    Celkem 212 hlasů
     Komentářů: 22, poslední dnes 15:34
    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: 1311×
    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.