Originariamente inviato da azote
Stufo di provare, ho deciso quindi di attuare la strada consigliatami da }gu|do[z]{®©, anche se non so se con file "pesanti ma non troppo" (es. 300k) possa dare problemi..
Quante variabili tiene al max un array? Esiste un massimo?
Tutto ha dei limiti... ma sono limiti fisici. insomma, finchè c'è memoria va. 300kb fanno il solletico a qualunque server moderno.
E'chiaro che poi tuto si può ottimizzare..ma in questo caso credo basti eliminare l'array dopo aver preso il record random... ^_^

Dovrò eseguire la funzione più volte e su file diversi con cicli ripetuti.. (es. avrò un minimo di 4 files di testo: nomi.txt, cognomi.txt, domini.txt, estensioni.txt che andranno a comporre ogni indirizzo). Che problemi possono sorgere?

Cmq ecco il codice che ho creato
codice:
$filelocation= "nomi.txt";
$file = fopen($filelocation,"r");
$content = fread($file, filesize($filelocation));
$array = explode(" ", $content);
fclose($file);
$totwords = count($array);
$numword = mt_rand(0,$totwords-1);
$randword = $array["$numword"];
echo "$randword";
Cosa ve ne pare?
Consigli?
Grazie mille ancora e buonanotte!
Dav
tranquillissimo..
a parte che esiste array_rand()... ma siamo lì

se vuoi dopo questo:
$randword = $array["$numword"];
puoi svuotare l'array se hai molta roba da fare dopo e non vuoi che quella memoria sia occupata inutilmente per tutto il tempo.

Oltretuto con questo sistema ti leggi tutto il file in una volta (e sequenzialmente) e buonanotte... lavotando invece sul file aperto con diversi accessi non sequenziali finisci a risparmiare memoria ma a fare anche molti più accessi a disco probabilmente... quindi siam sempre lì.