In questi giorni queste notti ho lavorato per rifare il sito del mio gruppo scout. Sarà online tra un paio di settimane ed ho deciso di sfruttare WordPress per pubblicare le notizie.
Una cosa carina che ho voluto realizzare è un background fisso con alcune foto prese da attività scout su cui la pagina scorre.
In un CSS però, non è possibile richiamare immagini random, così ho risolto con un piccolo ma semplicissimo hack.
La classe body è diventata come segue:
body {
background: url(images/randimg.php) no-repeat 0 0 #fff;
background-attachment:fixed;
color: #000;
font-family: Arial, Verdana, sans-serif;
margin: 0;
padding: 0;
}
In questo modo il background, richiama come immagine un piccolissimo script PHP che ritornerà una immagine random.
Sul web esistono svariati script per richiamare file random da una directory, personalmente però non volevo appesantire il codice con routine inutili ed ho compresso tutto nella seguente riga:
<?php header('Location: image00'.rand(1,7).'.jpg'); ?>
Le immagini vanno salvate nella cartella images/ numerandole nel formato image00*.jpg e sostituendo all’asterisco un numero incrementale. Personalmente avevo meno di 10 immagini da far ruotare, così ho scritto il codice adattandolo alle mie necessità. Comunque, è semplicissimo aumentare il numero di file che verranno presi in considerazione dallo script.
Il comando rand(1,7), serve appunto a specificare tra quali valori dovrà muoversi il numero casuale generato.
Infine, il file randimg.php va salvato nella stessa directory in cui salveremo le immagini (nel mio caso dentro images/).
Si potrebbe facilmente implementare il codice per far controllare il numero di file presenti nella directory automaticamente, ma se non cambia frequentemente è bene evitarlo per alleggerire quanto più possibile il codice da processare e rendere tutto il più leggero e veloce possibile.
Vi farei vedere il risultato se il sito fosse già online… 🙂
Emanuele