tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
858
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    areuter areuter ist offline Mitglied
    Registriert seit
    Apr 2008
    Beiträge
    10
    hallo,
    sitz hier seit 2 tagen und komm nicht wieter..
    ich habe unter http://de.php.net/header gelesen, dass es möglich ist ohne einen header mit hilfe von ob_start() auszukommen.
    ich würde gerne ein bild (png) aus einer db anzeigen lassen.
    PHP-Code:
    $im imagecreatefromstring($result['bilddaten']);
    header('Content-Type: image/png');
    imagepng($im); 
    das geht schonmal..
    PHP-Code:
    ob_start();
    imagecreatefromstring($result['bilddaten']);
    $out1 ob_get_contents();
    ob_end_clean();
    imagepng($out1); 
    das und vieles andere das ich versucht habe geht leider nicht.

    kann mir bitte jemand helfen?
    danke!
    arne
     

  2. #2
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Was spricht gegen das erste Beispiel?
     
    Markus Wulftange

  3. #3
    areuter areuter ist offline Mitglied
    Registriert seit
    Apr 2008
    Beiträge
    10
    danke für die schnelle antwort..macht hoffnung..
    gegen das bsp. spricht, dass es ein recht umfangreiches script ist und das anzeigen des bildes irgendwo mitten im text steht, nach einigen html anweisung,..und,..und..
    deshalb schmeißt er immer ein header already sent raus..
    arne
     

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Du kannst auch nicht zwei unterschiedliche Inhalte, also HTML und ein PNG, gleichzeitig generieren. Sondern sie müssen zwei eigenständige Ressourcen sein.
     
    Markus Wulftange

  5. #5
    areuter areuter ist offline Mitglied
    Registriert seit
    Apr 2008
    Beiträge
    10
    was meinst du mit ressourcen? zwei unterschiedliche seiten?
    könnte ich nicht mit ob_start() die ganze header sache umgehen?
    danke für die hilfe!
    arne
     

  6. #6
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Natürlich könntest du das...
    Aber ob_start() sollte dann ganz am Anfang des Skriptes stehen.

    Sprich:
    PHP-Code:
    <?php
    ob_start
    ();

    // ganz viel andere Code

    // Jetzt wird das Bild generiert

    // Noch mehr Code
    ob_end_flush();
    ?>
    Allerdings wären 2 Ressourcen (Ja, 2 Dateien) schöner, da es so auch einfacher wartbarer ist.
    Vorallem ist der Code dann wiederverwendbar, sprich wenn du das Bild auf einer zweiten Seite auch brauchst, musst du nicht den Code nochmal einfügen, sondern kannst wieder die externe Datei einbinden. Frei nach dem Motto: Don't repeat yourself
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  7. #7
    areuter areuter ist offline Mitglied
    Registriert seit
    Apr 2008
    Beiträge
    10
    hey felix
    hey gumbo
    danke für die hilfe. hab das mit ob_start irgendwie nicht hin bekommen.
    so sieht jetzt meine lösung aus:
    PHP-Code:
    echo "<img src=\"datei.php?bild=$x\">"
    also doch die variante mit den 2 dateien..
    grüsse
    arne
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 02.11.09, 20:41
  2. Antworten: 2
    Letzter Beitrag: 04.07.08, 14:35
  3. Header geht nicht trotz ob_start
    Von Pullmann im Forum PHP
    Antworten: 0
    Letzter Beitrag: 24.01.07, 17:31
  4. header, ob_start und ob_end_flush
    Von Eaden im Forum PHP
    Antworten: 6
    Letzter Beitrag: 19.04.05, 15:16
  5. ob_start() und header() ?
    Von Funjoy im Forum PHP
    Antworten: 12
    Letzter Beitrag: 12.11.04, 17:10