kostenloser Webspace werbefrei: lima-city


Bildererstellung in PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    demonic-legends

    Kostenloser Webspace von demonic-legends

    demonic-legends hat kostenlosen Webspace.

    Hallo Lima-City,
    ich habe vor 2 Tagen angefangen mich mit der Manipulation & Erstellung von Bildern in PHP zu beschäftigen.

    In meinem ersten Script dazu, will ich ein einfaches kleines Bild erstellen - mit dem Code der in meinem PHP-Buch steht.

    Wenn ich den Code so nutze wie er im Buch steht funktioniert es auch.

    <?php
    $im   = imagecreate(150,100);
    $grau = imagecolorallocate($im, 192, 192, 192);
    imagefill ($im, 0, 0, $grau);
    
    header("Content-Type: image/jpeg");
    imagejpeg($im);
    
    imagedestroy($im);
    ?>


    Wenn ich das ganze jetzt aber in Zusammenhang mit einem Button machen will, funktioniert es nicht!
    <?php
    if (isset($_POST["send"]))
    {
    $im   = imagecreate(150,100);
    $grau = imagecolorallocate($im, 192, 192, 192);
    imagefill ($im, 0, 0, $grau);
    
    header("Content-Type: image/jpeg");
    imagejpeg($im);
    
    imagedestroy($im);
    }
    ?>


    Wo liegt mein Fehler? :(

    PS: GD-Bibliothek ist aktiviert!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du weißt, dass du das Formular direkt an das Bild und nicht an die Seite, auf der das Bild deiner Meinung nach vll. erscheinen soll, schicken musst? Dann funktioniert das auch.
  4. Autor dieses Themas

    demonic-legends

    Kostenloser Webspace von demonic-legends

    demonic-legends hat kostenlosen Webspace.

    Mit html sieht mein Code so aus:
    <html>
    <head>
    <title>Bild erstellen^^</title>
    </head>
    <body>
    <form action="index.php" method="post" />
    <input type="submit" name="send" value="Bild erstellen" />
    <?php
    if (isset($_POST["send"]))
    {
        $im   = imagecreate(150,100);
        $grau = imagecolorallocate($im, 192, 192, 192);
        imagefill ($im, 0, 0, $grau);
    
        header("Content-Type: image/jpeg");
        imagejpeg($im);
    
        imagedestroy($im);
    }
    ?>
    </form>
    </body>
    </html>


    Wie meinst du das denn sonst?^^ oO


    Fehlermeldung:

    ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀd–"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ô (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€?ÿÙ


    Beitrag zuletzt geändert: 11.9.2010 23:26:54 von demonic-legends
  5. Nunja, da werden mehr Fehler sichtbar. Du sendest da eine Header-Information. Vor diesem Befehl darf keine Ausgabe erfolgen. Alles andere ist falsch und kann nicht funktionieren. Sobald eine Ausgabe gemacht wird (und sei es nur ein Leerzeichen oder ein Zeilenumbruch), beginnt der Body und damit ist der Header zu Ende. Alles Andere wäre also unmöglich. So sieht das korrekt aus:
    <?php
    if (isset($_POST["send"]))
    {
        $im   = imagecreate(150,100);
        $grau = imagecolorallocate($im, 192, 192, 192);
        imagefill ($im, 0, 0, $grau);
    
        header("Content-Type: image/jpeg");
        imagejpeg($im);
    
        imagedestroy($im);
    } else
    {
        ?>
        <form action="index.php" method="post" />
        <input type="submit" name="send" value="Bild erstellen" />
        </form>
        <?php
    }
    ?>
    Ich bitte darum, von Einwänden derer, die von sich selbst denken, sie könnten PHP, ab zu sehen. Das, was ich dem User geschrieben habe, soll ihm helfen, sich mit PHP zurecht zu finden.
  6. Autor dieses Themas

    demonic-legends

    Kostenloser Webspace von demonic-legends

    demonic-legends hat kostenlosen Webspace.

    Hallo & danke für die Antwort :)

    Habe es jetzt so wie du es vorgegeben hast eingebaut, allerdings funktioniert das auch nicht!

    Fehler der Ausgegeben wird:

    ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀd–"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ô (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€?ÿÙ


    Also genau so wie bei meiner Version auch...^^

    Beitrag zuletzt geändert: 12.9.2010 12:59:33 von demonic-legends
  7. Ich habe den Code einfach kopiert und in einer Datei namens "index.php" (wie es das Formular verlangt) eingefügt. Es Funktioniert. Erst wird der Button gezeigt und wenn man darauf klickt ein graues Bild.
  8. demonic-legends schrieb:
    Hallo & danke für die Antwort :)

    Habe es jetzt so wie du es vorgegeben hast eingebaut, allerdings funktioniert das auch nicht!



    Also aus dieser Antwort heraus (und Deinem ersten Code) vermute ich das Dir noch nicht klar ist das php-generierte Bilder genau wie die üblichen nicht-generierten Bilder immer NUR Bild-Code enthalten dürfen.
    drafed-map's Lösung war also entweder NUR das Bild oder NUR den html-Code anzuzeigen.

    Willst Du Dein php generiertes Bild in einer html-Seite Seite anzeigen musst Du , wie üblich, mit <img> darauf verweisen.
    Also mit mindestens 2 separaten Dateien arbeiten....
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!