Codice PHP:
function immagine ($dir$imm) { 
    
$ran rand(0,count($imm)); 
    
$image$dir.$imm[$ran]; 
    
$size getimagesize($image);  
    
$x $size[0];  
    
$y $size[1];  
             
    if (
$x>=$y
         return 
$image;                 
    else 
         
// Se non metti return, la prima chiamata (o le successive) cosa restituisce? nulla !
         
return immagine($dir$imm);     

Comunque, stai attento che così rischi di andare loop se nella cartella non ci sono immagini con x >= y. o impiegarci parecchio se la %di immagini z>=y è molto bassa e di immagini ne hai tante