PHP: uno sfondo casuale

Loading

In questo articolo mostreremo come combinare PHP e CSS per ottenere uno sfondo casuale al caricamento dello pagina.
Per sfondo casuale intendiamo uno sfondo preso a caso da una cartella.

Per prima cosa definiamo una funzione rndImg() che si occuperà di selezionare un file a caso tra quelli contenuti in una cartella da noi definita:

function rndImg(){
    // Cartella in cui si trovano le immagini (con slash finale)
    $dir = "sfondi/";
 
    // Estensione dei file da cercare (con il punto iniziale)
    $ext = ".jpg";
 
    // Cerca tutti i file con l'estensione scelta
    $arrFile = glob($dir . "*" . $ext);
 
    // Se non ci sono file, ritorna false
    if (!$arrFile || count($arrFile) == 0) {
        return false;
    }
 
    // Scegli un indice casuale tra 0 e il numero di file - 1
    $rndId = rand(0, count($arrFile) - 1);
 
    // Restituisce il percorso del file selezionato
    return $arrFile[$rndId];
}

Se vuoi sapere come agisce la funzione puoi leggere la pagina: PHP: funzione rndImg().

In realtà, questa funzione può essere utilizzata per selezionare qualsiasi tipo di file di una data estensione, oppure tutti i file scrivendo $ext = ‘.*’, questa soluzione potrebbe essere comoda se vogliamo inserire immagini di tipo diverso nella stessa cartella ed usarle come sfondo.

Per fare in modo che il file casuale selezionato dalla funzione PHP venga utilizzato come sfondo dobbiamo utilizzare i fogli di stile, ad esempio per utilizzare l’immagine come sfondo della pagina ci basterà scrivere:

body{background-image:url(<?php echo rndImg()?>)}

Ovviamente possiamo caricare uno sfondo casuale anche per altri elementi:

#myId{background-image:url(<?php echo rndImg()?>)}