29 marzo 2015

PHP: cambiare immagine in base al giorno della settimana

In questo esempio vedremo come aggiornare automaticamente un'immagine in funzione del giorno della settimana.
Per fare questo possiamo utilizzare l'istruzione switch di PHP che controlla il verificarsi di più condizioni, effettuando il confronto tra il valore effettivo di una variabile e i diversi casi previsti. Prevede anche un blocco di codice che verrà eseguito se nessuna delle condizioni poste è verificata:
switch (<valore_da_esaminare>){

    case <valore1-da-confrontare>:

    <codice> //codice da eseguire se il valore da esaminare coincide con il valore indicato in case

    break; //istruzione che ferma l'esecuzione del codice

    case <valore2-da-confrontare>:

    <codice> 

    break;

    default:

    <codice> //codice da eseguire se nessuno dei casi precedenti è verificato

    break;

}
Per la demo abbiamo scelto uno stile vintage: la programmazione giornaliera di un ipotetico cinema retrò. Per verificarne il corretto funzionamento dovete guardarla assolutamente tutti i giorni per una settimana intera :)

demo php switch case
DEMO

Questo il codice PHP utilizzato:
<?php
$oggi = date ("w");
switch ($oggi){
    case 0:
    $imgweek = "img-domenica.ext";
    break;
    case 1:
    $imgweek = "img-lunedi.ext";
    break;
    case 2:
    $imgweek = "img-martedi.ext";
    break;
    case 3:
    $imgweek = "img-mercoledi.ext";
    break;
    case 4:
    $imgweek = "img-giovedi.ext";
    break;
    case 5:
    $imgweek = "img-venerdi.ext";
    break;
    case 6:
    $imgweek = "img-sabato.ext";
    break;
}
    $altimg = str_replace('-', ' ', substr($imgweek, 0, -4));
?>
La funzione date(w) restituisce il numero corrispondente al giorno della settimana (0 domenica, 1 lunedì, 2 martedì...) che viene assegnato alla variabile $oggi.

L'istruzione switch valuta il valore di $oggi e, in base ad esso, assegna alla variabile $imgweek il nome del file immagine che si intende visualizzare.

La variabile $altimg contiene il valore che verrà assegnato all'attributo alt: esso viene ottenuto dal nome del file immagine privo di estensione (substr($imgweek, 0, -4)) sostituendo il carattere usato come separatore (in questo caso -) con uno spazio ed eliminando l'estensione del file. Per utilizzare in modo corretto questa variabile, è opportuno scegliere, per ogni file immagine, un nome significativo, contenente un carattere separatore univoco.

Il tag <img> acquisisce quindi in modo dinamico sia il valore dell'attributo src che quello dell'attributo alt:

<img alt="<?php echo $altimg; ?>" src="cartella/<?php echo $imgweek; ?>" />


Per approfondire l'argomento:

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.