Drathy: Probleme mit Rückgabe eines Wertes aus einer Funktion

Hallo zusammen!

Ich habe mal wieder ein kleines Problem:
Und zwar habe ich eine Funktion, die ein Bild per ImageMagic verkleinert, was auch soweit klappt. Nun möchte ich aber, dass der Pfad des neuen Bildes auch außerhalb der Funktion verfügbar ist, damit ich das Bild auch ausgeben kann...

Ich habe es nach folgendem Schame per return() versucht, aber es klappt irgendwie nicht, da die Variable außerhalb der Funktion nicht da ist bzw. leer ist...

function vorschaubild_erstellen($dateiid)
{
//Code der das Bild verkleinert
$zieldatei = '/pfad/zum/neuen/bild.jpg'
echo "<br>Zieldatei1: ".$zieldatei;
return $zieldatei;
}
echo "<br>Zieldatei2: ".$zieldatei;

Zieldatei1 wird in diesem Fall korrekt ausgegeben, aber Zieldatei2 ist leer...

Wo ist mein Fehler? Habe ich die Funktion von return() falsch verstanden und es funktioniert so nicht? Falls ja, wie muss ich dass dann umsetzen?

Danke & Gruß,
Drathy

  1. hi,

    Ich habe es nach folgendem Schame per return() versucht, aber es klappt irgendwie nicht, da die Variable außerhalb der Funktion nicht da ist bzw. leer ist...

    function vorschaubild_erstellen($dateiid)
    {
    //Code der das Bild verkleinert
    $zieldatei = '/pfad/zum/neuen/bild.jpg'
    echo "<br>Zieldatei1: ".$zieldatei;
    return $zieldatei;
    }
    echo "<br>Zieldatei2: ".$zieldatei;

    Zieldatei1 wird in diesem Fall korrekt ausgegeben, aber Zieldatei2 ist leer...

    Und wie hast du die Funktion aufgerufen?

    Habe ich die Funktion von return() falsch verstanden und es funktioniert so nicht?

    Hast du den mit return zurückgegebenen Wert denn irgendwie in Empfang genommen, oder lässt du ihn "verpuffen"?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo!

      Danke für Deine schnelle Antwort!

      Und wie hast du die Funktion aufgerufen?

      Zunächst habe ich die Datei, in der die Funktion steht, per require eingebunden. Dann innerhalb einer darauf folgenden while-Schleife, in der jeweils $dateiid variiert der Aufruf per "vorschaubild_erstellen($dateiid);"

      Hast du den mit return zurückgegebenen Wert denn irgendwie in Empfang genommen, oder lässt du ihn "verpuffen"?

      Hmmm...das wird dann wohl das Problem sein, da ich den Wert nicht "empfange"... Hatte fälschlicherweise angenommen, dass "return $dateiid;" einfach die komplette Variable samt Inhalt zurückgibt...

      Wie nehme ich die Daten denn in Empfang? Ich habe etwas von "include" gelesen...doch ich weiß grad nicht wirklich, wie ich dann damit den Wert von return() in einer Variable speichern kann...

      Gruß,
      Drathy

      1. Ahh, ich glaube ich habe die Lösung:
        $zieldatei = vorschaubild_erstellen($dateiid);

        So empfange ich den zurückgegebenen Wert, oder? Es hat zumindest den Anschein, dass mein Vorhaben so funktioniert...

        Gruß,
        Drathy