Codice PHP:
<?php
function random_image($path)
{
$allowed = array('jpg', 'gif', 'png');
$files = array();
if(!is_dir($path)) die("Cartella non valida.");
foreach(glob($path . "/*") AS $file)
{
if(in_array(end(explode('.', $file)), $allowed))
$files[] = $file;
}
return $files[rand(0, count($files)-1)];
}
echo random_image('immagini'); // Path senza slash finale
?>
perchè questa funzione restituisce un valore casuale... $immagine[rand(0, $i)];
e alcune vuolte restituiusce NULL
Che idea fantasiosa
La tua funzione non va perchè incrementi $i dopo aver riempito l'array, quindi se ad esempio nella cartella hai 4 file ($files[3] come indice massimo) avrai il secondo parametro della funzione rand() settato a 4 e se esce 4 come numero casuale non lo trova nell'array