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í
×
    včera 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    včera 12:00 | Nová verze

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.

    … více »
    Ladislav Hagara | Komentářů: 3
    23.6. 21:00 | IT novinky

    Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.

    Ladislav Hagara | Komentářů: 5
    23.6. 15:55 | IT novinky

    Počítačová hra Operace Flashpoint (Arma: Cold War Assault) od společnosti Bohemia Interactive slaví 25 let. Při této příležitosti bylo publikováno bezplatné hratelné Arma: Cold War Assault Remastered Demo a na GitHubu byly zveřejněny zdrojové kódy.

    Ladislav Hagara | Komentářů: 0
    23.6. 12:22 | IT novinky

    Na trh v České republice přichází HP EliteBoard G1a. Jde o plnohodnotný AI počítač integrovaný přímo do těla klávesnice, tedy zařízení, které na první pohled vypadá jako minimalistická klávesnice, ale ve skutečnosti nahrazuje klasickou počítačovou jednotku.

    Ladislav Hagara | Komentářů: 17
    23.6. 10:55 | Nová verze

    V lednu bylo oznámeno, že desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. O víkendu byla vydána první preview verze.

    Ladislav Hagara | Komentářů: 0
    22.6. 23:44 | Nová verze

    Minulý týden byl oficiálně vydán Android 17. Detaily na blogu a stránkách věnovaných vývojářům.

    Ladislav Hagara | Komentářů: 7
    22.6. 20:00 | IT novinky

    Dnes jde do prodeje zařízení Steam Machine. Steam Machine 512 GB za 1 039 EUR a Steam Machine 2 TB za 1 359 EUR. Do čtvrtka 25. června do 19:00 se lze zapsat na seznamy. Ty budou jednorázově náhodně slosovány, čímž bude určeno pořadí rezervací a čekacích listin.

    Ladislav Hagara | Komentářů: 20
    22.6. 14:44 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.51.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek v oznámení o vydání a také na YouTube a PeerTube.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 1978 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: PHP rand() - tá istá hodnota v dvoch cykloch

    23.3.2015 20:50 Peter
    PHP rand() - tá istá hodnota v dvoch cykloch
    Přečteno: 427×
    Dobrý deň vám prajem.

    Mám v PHP napísané odosielanie SMS pomocou našej GSM brány a po neúspešnom pátraní prečo nám neodošle niektoré SMS som zistil prečo. Časť kódu vyzerá nasledovne:

    index.php
    require('./function.php');
    smssend($db,$_POST['number'],$_POST['message']);
    
    function.php
    function smssend($db,$number,$message) {
      $stamp=date('YmdHis').rand(11111111111111,99999999999999);
    
      .
      .
      .
    }
    
    Najdôležitejšie je na mojej otázke práve to generovanie premennej $stamp, ktorá je na generovanie názvu súboru pre smstools3. V jednej sekunde odošlem napríklad 100 požiadaviek na index.php a v každom "cykle" mi vygeneruje rôznu rand hodnotu, čiže dostanem takéto niečo:
    20150323102030123456789
    20150323102030987654321
    20150323102030192837465
    .
    .
    .
    
    A zasa v ďalšej sekunde dostanem takéto niečo:
    20150323102040123456789
    20150323102040123456789
    20150323102040123456789
    
    Som blázon ja, alebo PHP?

    Vopre veľmi pekne ďakujem za pomoc.

    Odpovědi

    23.3.2015 21:42 chrono
    Rozbalit Rozbalit vše Re: PHP rand() - tá istá hodnota v dvoch cykloch
    Ak to nie je na serveri s Windows, tak by sa niečo také nemalo stávať (každopádne aj na Linuxe je 11111111111111 pravdepodobne nad maximálnou hodnotou, ktorú tá funkcia vie vrátiť, takže sa musí hodnota vygenerovaná generátorom náhodných čísel vynásobiť, aby bola v tom rozsahu ), každopádne asi by bolo rozumnejšie používať funkciu mt_rand.
    24.3.2015 08:17 gsnak | skóre: 22 | blog: gsnak
    Rozbalit Rozbalit vše Re: PHP rand() - tá istá hodnota v dvoch cykloch
    Čo Rys, to vrah!
    24.3.2015 09:07 DarkKnight | skóre: 26
    Rozbalit Rozbalit vše Re: PHP rand() - tá istá hodnota v dvoch cykloch
    getRandomNumber()

    Jak uz bylo zminene, getrandmax() muze byt mensi na jinych platformach, takze mt_rand() by bylo lepsi. Nicmene tady bude spis problem v pseudogeneratoru, kde bude predvidatelny seed (treba podle sekund), muzes zkusit pouzit srand(), treba hned podle toho prvniho prikladu
    24.3.2015 12:18 Lucius
    Rozbalit Rozbalit vše Re: PHP rand() - tá istá hodnota v dvoch cykloch
    Mimo uz receneho jeste poznamka - zadny generator nahodnych cisel negarantuje unikatnost - kontrolu unikatnosti musite doprogramovat, nahodne cislo je cislo vybrane z nejakeho rozsahu a muze se opakovat. Takze jestli potrebujete, aby bylo v kazdem kroku jine, tak to musite pohlidat a v pripade, ze se nejake opakuje, tak si nechat vygenerovat jine. Nebo pouzit generovani nejakeho unikatniho identifikatoru.
    24.3.2015 14:00 R
    Rozbalit Rozbalit vše Re: PHP rand() - tá istá hodnota v dvoch cykloch
    Pre tento ucel som pouzival toto:
    $filename = tempnam($queue_dir, date('YmdHis').'-'.$cislo_pre_sms.'-');
    
    24.3.2015 21:19 Bill Gates
    Rozbalit Rozbalit vše Re: PHP rand() - tá istá hodnota v dvoch cykloch
    proc nepouzit napriklad citac mikrosekund misto rand?

    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.