Funktion zur Überprüfung, ob Bild existiert

ciberjoerg

Erfahrenes Mitglied
Hi also ich hab mir überlegt eine Funktion zu schreiben, um zu Prüfen ob ein Bild vorhanden ist, und wenn ja soll mir das ganze angezeigt werden.

Ich weiß leider noch nicht ob es so Funktioniert:
PHP:
$u_id = $u->user_id;

function upic($picid){
    if(file_exists("uPics/".$u_id."/pics/".$picid.".jpg")){
         echo"<div class='piccontainer'><a rel='example_group' href='uPics/".$u_id."/pics/".$picid.".jpg'><img alt='example_group' src='thumb.php?size=100&img=uPics/".$u_id.."/pics/".$picid.".jpg' width='100' border='0'></a></div>";
    }
    else{
    }
    return;
}
upic(1);
upic(2); //und so weiter.
Am ende soll dann das Bild angezeigt werden in einem div container.

Ich würde gerne wissen ob das mit dem return Befehl so funktioniert oder ob die Funktion so gar nicht nutzbar wäre.
 
Nope.
Es gibt 2 Arten von Funktionen. In VB heissen sie auch verschieden.

Methoden:
Eine Methode führt etwas aus, ohne dass ein Wert zurückgegeben wird.
Bsp: echo(), asort() etc
PHP:
function methode($var){
    echo $var;
}
methode('foobar');

Funktion / Callbackfunction
Eine Funktion gibt ein Wert retour.
Bsp: file_exist(), array_map(), div() etc.
PHP:
function callbackfunction($var){
    retrurn "foo".$var;
}
$myString = callbackfunction('bar');
echo($myString);

In deinem Beispiel handelt es sich um eine Methode. Ergo brauchst du ga kein Returnbefehl
 
Nun hab ich trotz der Funktion ein Problem, es wird nur eine 1 ausgegeben auser die punkte sind unter 400. Dann steht zusätzlich eine 1 dahinter. Doch leider weiß ich nicht woran das liegt.
Gesammte php code:
PHP:
<?
$points=$u->points;
$u_id = $u->user_id;

function upic($picid){
    if(file_exists('uPics/'.$u_id.'/pics/'.$picid.'.jpg')){
    echo"<div class='pics'><a rel='example_group' href='uPics/".$u_id."/pics/".$picid.".jpg'><img alt='example_group' src='thumb.php?size=100&img=uPics/".$u_id."/pics/".$picid.".jpg' width='100' border='0'></a></div>";
    }
    else{
    }
}


if($points < 400){
    echo"Keine Bilder vorhanden! (ab 400P)";
}
if($points >= 400 && $points < 800){# bilder 1-3
    upic(1);
    upic(2);
    upic(3);
}
if($points >= 800 && $points < 1500){# bilder 4-6
    upic(4);
    upic(5);
    upic(6);
}
if($points >= 1500 && $points < 3000){# bilder 7-9
    upic(7);
    upic(8);
    upic(9);
}
if($points >= 3000 && $points < 6000){# bilder 10-12
    upic(10);
    upic(11);
    upic(12);
}
if($points >= 6000 && $points < 12000){# bilder 13-15
    upic(13);
    upic(14);
    upic(15);
}
if($points >= 12000 && $points < 24000){# bilder 16-18
    upic(16);
    upic(17);
    upic(18);
}
if($points >= 24000 && $points < 48000){# bilder 19-21
    upic(19);
    upic(20);
    upic(21);
}
if($points >= 48000 && $points < 96000){# bilder 22-24
    upic(22);
    upic(23);
    upic(24);
}
if($points >= 96000 && $points < 150000){# bilder 25-27
    upic(25);
    upic(26);
    upic(27);
}
if($points >= 150000){# bilder 28-30
    upic(28);
    upic(29);
    upic(30);
}
?>
 
Zurück