Pases de imagenes

Hola a todos, bueno estoy practicando con script que trabajen con imagenes, me interesan mucho, y googleando he encontrado uno que debería hacer un pase de imagenes. Pero como mi comprension de php aun no es lo bastante bueno, hay variables y funciones que no entiendo de este script.
¿Me podríais hechar una manita y explicarmelo un poco?
Gracias
<?

$d = dir("img");
$imagenes = array();
while($entry=$d->read()) {
	if (!is_dir($d->path.'/'.$entry)) {
		$elemento = $d->path.'/'.$entry;
		if (is_file($elemento)) {
			$img = GetImageSize($elemento, $info);
			if (isset($img))
				$imagenes[count($imagenes)] = $elemento;
		}
	}
}
$buffer=fread($d,filesize("img")); //fila22

$elemento=explode("\n",$buffer);
$d->close();
?>
Por cierto no me funciona, da este error:
Warning: fread() expects parameter 1 to be resource, object given in C:\wamp\www\servicios\pases.php on line 22