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\" />";
?>
|