Avatar billede fralle Nybegynder
11. september 2006 - 21:13 Der er 1 kommentar og
1 løsning

Problem med generering af variable bogstaver

Hej,

Prøver at generate en del random kombinationer af et "ord" listen skal bruges til et spam filter, koden der er smækket sammen er som følger:

<?php
function generateRef($nLen)
{
        srand(date('s')*rand());
        $sNum = "1234567890";
        $sNum = "";
        $sCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $sCase = "";
        $sCharPool = "abcdefghijklmnopqrstuvwxyz".$sNum.$sCase;
        $sKey = '';
       
        while(strlen($sKey) < $nLen) {
            $sKey .= substr($sCharPool, rand()%(strlen($sCharPool)),1);
        }
       
        while (@in_array($sKey,$GLOBALS['arr']) == TRUE) {
            $sKey = generateRef($nLen);
        }

        return $sKey;
}


for ($i=0; $i<99999;$i++) {
    $arr[] = generateRef(3);
}

if ($handle = fopen("c:\php\keys.txt", "w")) {
    $printVar = '';
    foreach ($arr as $sValue) {
        $printVar .= "PHA".$sValue."RMACY\n";
    }
    echo 'gathered info passing to file:';
    fwrite($handle, $printVar);
    echo 'done';
}

?>


Problemet er at den stopper efter ca 1k resultater... any ideas?
Avatar billede Slettet bruger
11. september 2006 - 22:00 #1
set_execution_time ?
Avatar billede fralle Nybegynder
15. september 2006 - 14:05 #2
set_execution_time hjalp ikke. Løste først problemet med VBA. Men så besluttede jeg mig for at løse det med en regex i stedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester