readdir

uživatel uploadne obrázek na server který se pojmenuje jako registrovaný uživatel, potom chci ten jeho obrázek ukázat. Jelikož obrázek může být uložen jako .gif, .png, .jpg...tak musím oddelit koncovku od názvu obrázku pomocí explode a pak kontroluju název obrázku s názvem uživatele

$file_name = "homeworld";
$handle=opendir('./images');
while (false!==($file = readdir($handle)))
{
$getExt = explode ('.', $file);
if ($getExt[0] == $file_name)
{
echo "<img src=images/".$file.">";
}
}
closedir($handle);

problém je v tom že pokud uživatel nemá obrázek tak se nic neobjeví...já chci aby se tam místo obrázku napsalo "obrázek"

jenže pokud napíšu:

$file_name = "homeworld";
$handle=opendir('./images');
while (false!==($file = readdir($handle)))
{
$getExt = explode ('.', $file);
if ($getExt[0] == $file_name)
{
echo "<img src=images/".$file.">";
}
else
{
echo "obrázek";
}
}
closedir($handle);

tak zkontroluje první obrázek a ten neodpovídá jménu, takže napíše obrázek, podívá se na druhý obrázek a taky neodpovídá jménu a zase napíše obrázek...takže výsledek je třeba takový že napíše 10x "obrázek". Jak by se to mělo řešit? možná je nešikovný tenhle script...pokud víte jak jinak by se to mohlo řešit tak poraďte
Tak si na začítek nadefinuj proměnnou $zobraz="obrázek". Když se podmínka v cyklu vyhodnotí správně, tak proměnnou přepiš. Po skončení cyklu proměnnou vypiš přes echo nebo print.
co treba neco takovyho:
function obrazek($uzivatel)
{
$cesta = './images/';
$pripony = array('jpg', 'png', 'gif');
for($i = 0; $i < count($pripony); $i++)
{
if(file_exists($cesta.$uzivatel.'.'.$pripony[$i]))
return('<img src="'$cesta.$uzivatel.'.'.$pripony[$i].'>');
}
return('obrazek');
}

a pak pro kazdyho uzivatele na prihodnym miste udelas echo(obrazek($uzivatel))
funguje...děkuju