l'errore dovrebbe essere dovuto alla mancanza del carattere "." nel nome del file che tu non controlli, ma di cui presupponi l'esistenza (ci sono file senza "." nella cartella?), insomma dovresti aggiungere un controllo:

Codice PHP:
...
if (
strpos($immagine'.')>0) {
 list(
$nome_file$estensione) = explode("."$immagine); 
            if(!
in_array(strtolower($estensione),$estensioni)) {  
                continue;  
            }else{  
                
// memorizziamo il contenuto della cartella in un array 
                
$immagini[] = $immagine;  
            }  
};
... 
e magari anche controllare che vi sia almeno un'immagine...