In questo breve tutorial mostreremo un semplice script che permette di mostrare casualmente un'immagine presa da una cartella; il vantaggio nell'uso di questo codice sta nel fatto che non sarà necessario associare ogni singola immagine presente nella directory sorgente ad una specifica variabile.
Lo script si occuperà infatti di leggere il contenuto della cartella e inserire i nomi di tutti i file che presentano un'estensione consentita (Gif, Jpeg e Png) all'interno di un array da cui estrarre casualmente l'output da visualizzare.
Da notare come sia stata commentata la riga riferita al generatore dei numeri casuali:
// non più necessario //srand((float)microtime()*10000000);Infatti, dalla versione 4.2.0 di PHP, non c'è più bisogno di inizializzare il generatore di nomeri casuali con srand() o mt_srand() dal momento che questo viene fatto automaticamente.
<?php function immagini_random($path = "./") { //definiamo le estensioni consentite $estensioni = array('gif','jpg','jpeg'); //apriamo la cartella if(!$cartella = @opendir($path)) { die("Impossibile aprire la directory."); } else { while(($immagine = readdir($cartella)) !== false) { if($immagine == "." || $immagine == "..") { continue; } // verifichiamo le estensioni list($nome_file,$estensione) = explode(".",$immagine); if(!in_array(strtolower($estensione),$estensioni)) { continue; } else { // memorizziamo il contenuto della cartella // in un array $immagini[] = $immagine; } } // non più necessario //srand((float)microtime()*10000000); // mostriamo l'immagine casuale $val = array_rand($immagini); return $path . "/" . $immagini[$val]; } } // esempio di utilizzo $mostra = immagini_random("./img"); echo "<img src=\"$mostra\" />"; ?>