Roach: Weiterleitung aus PHP generiertem Bild

Hallo,

gibt es eine Möglichkeit aus einem Bild heraus weiterzuleiten.
Also ich generiere ein PNG mit Hilfe von PNG und wenn das Bild zum Beispiel mit einer bestimmten variabel ausgeführt wird, leitet es automatisch auf eine andere Seite weiter.

Kurz: Irgend ne Möglichkeit weiterzuleiten ohne header(), denn header-weiterleitungen funktionieren nur von bild auf bild, nicht von bild auf Seite :-(

Danke.

  1. Hallo,

    Du hast da wahrscheinlich einen Denkfehler.

    Ueberlege nochmal gut, was der _Browser_ zu sehen kriegt.
    Mit PHP hat das alles nur am Rande zu tun.

    Wenn der Browser ein Bild erwartet, weil Du es mit
    <img src="skript.php" alt="..."> in eine HTML-Seite
    einbindest, dann kannst Du zwar mit dem Skript
    alles moegliche schicken, z.B.
    (a) einen HTTP-Redirect (30x) auf ein echtes Bild
    (b) den richtigen Content-Type (z.B. image/jpeg)
        und dann die Bilddaten Byte fuer Byte
    (c) einen HTTP-Redirect (30x) auf eine HTML-Seite
    (d) HTML-Code (oder Plain-Text)
    (e) einen anderen HTTP-Header (z.B. 404).

    An der Stelle in der HTML-Seite, wo der Browser
    das Bild anzeigen sollte, wird er aber vermutlich
    nur zwei Dinge tun:

    • ein Bild anzeigen - Faelle (a) und (b)
    • ein "broken image" Symbol anzeigen - alle uebrigen Faelle
        inkl. (c), (d) und (e)

    Eine Weiterleitung auf eine HTML-Seite waere nur moeglich,
    wenn der Browser als einziges das Bild anzeigen soll,
    also wenn Du z.B. einen Link hast:
    <a href="skript.php">Bild anzeigen</a>
    _Dann_ kannst Du ihm irgendetwas schicken, und
    er reagiert auch bei (c), (d) und (e) so, wie Du
    es erwartest.

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
  2. denn header-weiterleitungen funktionieren nur von bild auf bild, nicht von bild auf Seite

    Achja? Wieso denn nicht? Was passiert denn da?
    Im Prinzip sollte die Weiterleitung mit dem header() und location doch immer funktionieren, so fern der Header als erstes gesendet wird (also header abschicken, nachdem schon HTML an den Browser gesendet wurde, geht natürlich nicht mehr.)

    1. hi,

      denn header-weiterleitungen funktionieren nur von bild auf bild, nicht von bild auf Seite
      Achja? Wieso denn nicht? Was passiert denn da?

      aus eben dem grund, den thomas beschrieben hat.

      wenn das script über <img src="..." ...> eingebunden wird, dann kannst du einen redirect auf eine html-seite oder auf den hintern des papstes schicken - der browser _erwartet_ hier aber bilddaten, und wenn er die nicht bekommt, gibt es eben nur ein broken image.

      gruss,
      wahsaga