Kim Ludvigsen skrev:
> Jeg har tænkt i disse baner - men jeg er måske på vildspor:
> $dir = "mappenavn";
> $antal= count(glob("$dir/*.*"));
glob() laver netop det array du har brug for.
$filnavne = glob("$dir/*.*");
$antal = count($filnavne);
$tilfaeldig = rand(2,$antal);
$filnavn=$filnavne[$tilfaeldig];
Men inden du slipper rutinen løs, skal du lige tjekke at de to
første filer er . og .. - altså aktuel mappe og aktuel overmappe.
Du får en løkke (eller fejl hvis du bruger dem som include-filer.
Tjekket kan du lave ved at udskrive $filnavne med print_r().
Du kan ogs lave en lidt mere omstændelig rutine der skipper
mapper:
$filnavne=array();
foreach (glob("$dir/*.*") as $entry) {
if (is_file($entry)) $filnavne[]=$entry;
}
Endelig kan du udnytte en inbygget funktion til at tage et
tilfældigt element:
$tilfaeldig = array_rand($filnavne);
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO:
http://fiduso.dk/