Se volete visualizzare nel vostro sito un immagine casuale, un ottimo modo di fare questo è attraverso uno script php.
Un modo semplice di visualizzare un immagine casuale in php è quello di fare qualcosa del tipo: genera un numero casuale, se questo è 1 allora manda in eco l’immagine 1, se questo è 2 manda in eco l’immagine 2 etc… Il problema di questo metodo è che l’output prodotto non è un immagine ma del codice html con il tag img. Ecchissenefrega, tanto alla fine l’immagine casuale viene comunque disegnata, direte voi! Certo, ma in alcuni casi è necessario che il codice php generi direttamente un immagine, e che quindi dirigendo il browser all’indirizzo della pagina php venga visualizzata l’immagine senza che ci sia nessun sorgente HTML della pagina. A me per esempio è servito per specificare delle immagini random che vengono richiamate dal foglio di stile del sito: il css non può interpretare il php visto che è letto in locale dal browser, quindi l’immagine a cui punta il css deve essere una vera e propria immagine, altrimenti questa non verrà visualizzata.
Bando alle ciance quindi.
Un esempio di immagine casuale è quella qui sotto :)
Immagine random

Preferite i cani, il gatto o il criceto molto fortunato? :D (refresh per randomizzare un’altra immagine)

Analisi del codice

Nel codice sorgente c’è una funzione

function LoadJpeg($imgname)

che prende in input il nome dell’immagine e ritorna il contenuto di questa.
Nel corpo del file attraverso la riga

header("Content-Type: image/jpeg");

setto l’header della pagina che stiamo spedendo al browser, in modo che questa venga vista come un immagine jpeg, dopodichè genero un numero random e chiamo la funzione LoadJpeg con il file di nome numRandom.jpg (per es. il file 2.jpg se il numero casuale era il 2).

// numero da 1 a 3
$random = (rand()%3) + 1;
// nome dell'immagine random da caricare
$imgname = "$random.jpg";
// carico l'immagine
$img = LoadJpeg($imgname);

A questo punto chiamo la funzione imagejpeg passandogli il contenuto dell’immagine casuale caricata e il gioco è fatto!

// invio l'immagine al browser
imagejpeg($img);

Download Php Random Image. Downloads: 251


Se sei interessato a questo post, potresti anche provare a leggere:

    No related posts