Aslında tam olarak kodun mantığını anlamadım. Yani siz fonksiyonu çağırırken parametreye sadece isim giriyorsunuz, o da varsa
isim+uzantı döndürüyor, yoksa
yok.png döndürüyor.
Şu şekilde yazınca bir sorun yok aslında istediğiniz buysa;
function resim_kontrol($resim)
{
$isim = $resim.".png";
$adres = "resim/".$isim;
if(file_exists($adres)) {
$resim = $isim;
}
else {
$resim = "yok.png";
}
return $resim;
}
//Test (logo.png döndürdü)
echo resim_kontrol("logo");onun yerine tam ismi(uzantıyla birlikte) parametreye gönderseniz daha mantıklı sanki.