Do you plan to manoeuvre it?!
[Scripting] Immagini che cambiano dinamicamente, con PHP
Volendo rendere il blog un po’ più “natalizio” (ed essendo tanto svogliato da non volerci più mettere mano passato il Natale) ecco che mi è venuta l’idea geniale: creare un tema che cambi col tempo! È come addobbare un albero di Natale e lasciare che, arrivato il 2 gennaio (questa la data che ho scelto io) tutto torni al suo posto senza che nessuno intervenga. Com’è possibile questo?
Script come immagini
Chi avrà una minima conoscenza di html saprà che ogni immagine è racchiusa all’interno di un tag fatto grossomodo così:
<img src=”immagine.gif” border=”0″>
Senza scendere nel dettaglio, questo tag mostra, al caricamento della pagina web, il file immagine.gif. Volendo rendere questa cosa dinamica si potrebbe sostituire il file immagine.gif con uno per ogni occasione, ad esempio:
<img src=”immagineNatale.gif” border=”0″>
<img src=”immaginePasqua.gif” border=”0″>
<img src=”immagineGiorno.gif” border=”0″>
<img src=”immagineNotte.gif” border=”0″>
e così via. Questa cosa è interessante, ma farla a mano diventa problematico e porta via troppo tempo. Dove sta il trucco?
Supponiamo di avere un file php che controlli con semplici strutture la data odierna, basterebbe fare una cosa del genere:
if(data(oggi) == “25 dicembre”) scrivi(<img src=”immagineNatale.gif” border=”0″>);
elseif(data(oggi) == “12 aprile”) scrivi (<img src=”immaginePasqua.gif” border=”0″>);
else scrivi(<img src=”immagine.gif” border=”0″>);
Si, funziona, ma è un po’ “sporco” e poco funzionale. Così facciamo cambiare proprio il codice, a noi interessa cambiare l’immagine! Ed ecco come fare:
<img src=”controlladata.php” border=”0″>
Ovviamente lo script controlladata.php non darà come output del testo ma un’immagine! Quindi dentro ci sarà scritto:
if(data(oggi) == “25 dicembre”) mostra_immagine(immagineNatale.gif);
elseif(data(oggi) == “12 aprile”) mostra_immagine(immaginePasqua.gif);
else mostra_immagine(immagine.gif);
Il codice (la parte pratica)
Ed ecco come ho risolto io limitatamente all’immagine di Natale (ma il procedimento è lo stesso):
nel CSS (potete osservarlo tramite il sorgente della pagina), all’interno del tag body, ho dichiarato come immagine di sfondo uno script:
body {
background: blue url(‘www.miosito.com/controlladata.php’) repeat-x fixed;
}
e poi ho creato uno script con dentro pochi ma semplici comandi:
<?php
header(‘Content-Type: image/gif’);
if( (int) date(“Ymd”) < 20090102 )
readfile(‘http://www.miosito.com/immagini/immagineNatale.gif’);
else
readfile(‘http://www.miosito.com/immagini/immagine.gif’);
?>
Più pulito, no?! ;) E così il 02 gennaio (come si vede dal timestamp 20090102) tutto tornerà a posto come prima! ;)
I crediti per l’immagine vanno a q u a r k.
| Stampa l'articolo | Questo articolo è stato pubblicato da iraiscoming223 il 12 Dicembre 2008 alle 17:31, ed è archiviato come Articoli accatastati. Puoi seguire i commenti a questo post attraverso RSS 2.0. Puoi pubblicare un commento o segnalare un trackback dal tuo sito. |

