Ho provato lo script ma non funziona nella pagina nel browser vedo solo il comando che ho scritto, ho messo tutti i files in una cartella lo script php l'ho compilato associando dei siti casuali alle immagini in questo modo:

<?php
// dichiarazione del banner
$banner = array(
"banner" => array("bomb.gif", "frown.gif", "grim.gif", "smile.gif"),
"link" => array("http://www.google.com", "http://www.myspace.com", "http://www.msn.com", "http://www.smile.com"),
);

// conto quanti banner sono presenti nell'array
// toglo 1 al totale perché la numerazione
// degli array parte da 0 (zero)
$num = count($banner) - 1;

// genero due numeri casuali, che indicano
// il valore di ogni chiave nell'array dei banners
$key1 = rand(0, $num);
$key2 = rand(0, $num);
// applico la funzione di cui sopra per
// ottenere una chiave numerica diversa dalla precedente

while($key1 === $key2) {
$key2 = rand(0, $num);
}


$primo_banner = "
<a href=\"http://www.google.com".$banner['link'][$key1]."\">
<img src=\"bomb.gif".$banner['banner'][$key1]."\" />
</a>
";
$secondo_banner = "
<a href=\"http://www.myspace.com".$banner['link'][$key2]."\">
<img src=\"frown.gif".$banner['banner'][$key2]."\" />
</a>
";
$terzo_banner = "
<a href=\"http://www.msn.com".$banner['link'][$key3]."\">
<img src=\"grim.gif".$banner['banner'][$key3]."\" />
</a>
";
$quarto_banner = "
<a href=\"http://www.smile.com".$banner['link'][$key3]."\">
<img src=\"smile.gif".$banner['banner'][$key3]."\" />
</a>
";
?>

poi nella pagina che ho chiamato home.php ho inserito questo:

echo "
$primo_banner


$secondo_banner


$terzo_banner
";

ma aprendo la pagina con un browser vedo questo:

echo " $primo_banner
$secondo_banner
$terzo_banner ";

e non i banners (questa prova è stata effettuata su un server con php funzionante),
inoltre credo che questo script, al contrario dell' originale che era valido solo per le immagini, non visualizzi tutti i banners a rotazione anche se quelli visualizzabili sono meno dei banners caricati, mi spiego meglio supponiamo che io voglia inserire 3 banners in una pagina in tre divs diversi ma avendo 4 banner disponibili come in questo caso lo script dovrebbe prendere a caso 3 dei 4 banner disponibili per volta, invece in questo caso mi sembra che i banners visualizzabili debbano essere di ugual numero ai banner disponibili, inoltre il fatto di richiamare lo script in un comando singolo echo ""; non mi permette di "staccare" gli stessi banners. Spero di aver spiegato in maniera non troppo ingarbugliata, cmq lo script che ho postato faceva tutto cio ma solo per le immagini.
Ciao

P.S.
Ribadisco che i siti che ho scelto come collegamento sono puramente casuali, servono solo per testare lo script.