<?php
function RandImg($map, $max_size) {
	$a_bestanden = array(); // hier komen alle bestanden in te staan
	$bestandstypes = array('gif','jpg','jpeg','png','bmp'); //toegestane bestandstypes
	for ($i=0; $i < count($bestandstypes); $i++) { //alle bestandstypes in kleine letters
		$types[] = strtolower($bestandstypes[$i]); // maak van alle bestandstypes in de array kleine letters
	}
	
	if ($handle = opendir($map)) { //open de map
	  while (false !== ($bestand = readdir($handle))) { //haal bestanden op
	  	$bestand_explode = explode('.', (strtolower($bestand)));
	  	$lengte = (count($bestand_explode)-1);
	  	$bestand_ext = $bestand_explode[$lengte]; // dit is de bestandsextensie
	 		if (in_array($bestand_ext, $types)) { // controleer of het bestandstype toegestaan is
	 			$a_bestanden[] = $bestand; // voeg het bestand toe aan de bestanden-array
	 		}
	  }
	  closedir($handle);
	}
	else {
		echo "Map kon niet worden geopend";
	}
	$max = count($a_bestanden); // het aantal bestanden
	$foto = rand(0, ($max-1)); //kies een array-nummer tussen 0 en het aantal bestanden minus 1
	$dimensions = getimagesize($map.'/'.$a_bestanden[$foto]); //haal afmetingen op
	$width = $dimensions[0];
	$height = $dimensions[1];
	
	if ($width > $max_size) { // verander $width in $height voor de maximale hoogte, en vice versa
		$width = $max_size; // wordt aangepast naar maximale grootte
	}
	
	$ret = '<img src="'.$map.'/'.$a_bestanden[$foto].'" alt="'.$a_bestanden[$foto].'" width="'.$width.'" />'; //de uitgekozen foto
	return ($ret); //return de foto met html-tag
}?>

En zo roep je de functie aan (zodat ie ook gelijk wordt getoond):
<?php
echo RandImg('images', 500);
?>