Creo que podría haber un problema con esta función... si uno quiere por ejemplo escribir 5 palabras, es probable (bastante) que salgan repetidas.
Ademas hay que abrir el archivo, volcarlo al array y cerrar el archivo para cada palabra que se quiera escribir.
Lo mejor sería que la función devolviera un array con todas las palabras desordenadas. De esa forma el archivo se abre una sola vez y eliminamos la posibilidad de palabras repetidas.
Código PHP:
function array_desordenado()
{
$abrir=fopen("frases.txt", r);
$listadefrases = fread($abrir, filesize("frases.txt"));
$frases = explode(";", $listadefrases)
fclose($abrir);
//Desordenamos el array:
shuffle($frases);
return $frases;
}
Y para utilizarla:
Código PHP:
$palabras = array_desordenado();
//Y Puedes imprimir todas las palabras que quieras:
for($i=1;$i<=5;$i++){
echo $palabras[$i];
}
Saludos