Bildererstellung in PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
ausgabe
bibliothek
bild
buchen
button
code
dank
erstellen
erstellung
fehler
formular
funktionieren
grau header
header
image
tag
type
verweis
zusammenhang
-
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! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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.
-
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"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?ô (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€?ÿÙ
Beitrag zuletzt geändert: 11.9.2010 23:26:54 von demonic-legends -
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:
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.<?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 } ?>
-
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"2B‘¡±Á #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 -
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.
-
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.... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage