PHP Bildscriptfehler

[code]<?
$img = imagecreatetruecolor(400,230);

$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate ($img, 0, 0, 0);
$grey = imagecolorallocate ($img, 186, 186, 186);
$rand_1 = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));
$rand_2 = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));

$possible = 'abcdefghijkmnpqrtuvwxzABCDEFGHJKLNQRSTUVWXZ';
$rand_3 = rand( 0, strlen( $possible )-1 );
$rand_4 = rand( 0, strlen( $possible )-1 );

imagefill($img, 0, 0, $white);
imagettftext($img, 16, 0, 90, 20, $grey, 'fonts/candp.ttf', 'Viel Spaß auf meinem Profil');
imagettftext($img, 60, 0, 50, 150, $rand_1, 'fonts/mario.ttf', $possible[$rand_3]);
imagettftext($img, 50, 0, 220, 200, $rand_2, 'fonts/mario.ttf', $possible[$rand_4]);
imagettftext($img, 16, 0, 0, 225, $black, 'fonts/journal.ttf', 'by ...');

    header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);

?>[/code]

Zuerst war der fehler, dass ich die headerinformationen bereits am anfang des scripts festlegen musste. Nachdem ich dies getan hatte, steht in der bildausgabe, dass das bild fehler enthält und nicht angezeigt werden kann. Lokal funktionierte das script so wie ich es oben angegeben habe…

Jemand eine idee woran es nun scheitert?

Edit:
Hier noch die fehler, die zuerst aufgetreten sind:

[quote]Warning: imagettftext() [function.imagettftext]: any2eucjp(): something happen in /users/brice-dev/www/jappy.php on line 21

Warning: Cannot modify header information - headers already sent by (output started at /users/brice-dev/www/jappy.php:21) in /users/brice-dev/www/jappy.php on line 26[/quote]

Welche Zeile ist Zeile 21?
Die erste imagettftext() Funktion? liegt vll an der verwendeten Kodierung?
Wenn das “ß” als utf-8 angegeben wird, könnte es das Problem vielleicht beheben.

Ich kann den Fehler nicht reproduzieren. Selbst wenn ich in einem String zwei unterschiedliche Zeichenkodierungen nutz (erstes ist utf-8, zweiteres wird dann wohl zu iso-8859): [code]imagettftext($img, 16, 0, 10, 20, $red, $font, "Spaß ".utf8_decode("Spaß"));[/code] Werden trotzdem beide "ß" korrekt dargestellt. Liegt also vll doch an was anderem...

[code]<?
header(‘Content-Type: image/png’);
/* Creating an image */
$img = imagecreatetruecolor(400,230);

/* Defining Colors */
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate ($img, 0, 0, 0);
$grey = imagecolorallocate ($img, 186, 186, 186);
$rand_1 = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));
$rand_2 = imagecolorallocate($img, rand(0,255), rand(0,255), rand(0,255));

/* Functions */
$possible = 'abcdefghijkmnpqrtuvwxzABCDEFGHJKLNQRSTUVWXZ';
$rand_3 = rand( 0, strlen( $possible )-1 );
$rand_4 = rand( 0, strlen( $possible )-1 );


/* Filling images */
imagefill($img, 0, 0, $white);
imagettftext($img, 16, 0, 90, 20, $grey, 'fonts/candp.ttf', 'Viel Spass auf meinem Profil');
imagettftext($img, 60, 0, 50, 150, $rand_1, 'fonts/mario.ttf', $possible[$rand_3]);
imagettftext($img, 50, 0, 220, 200, $rand_2, 'fonts/mario.ttf', $possible[$rand_4]);
imagettftext($img, 16, 0, 0, 225, $black, 'fonts/journal.ttf', 'by FallOutBrice');

imagepng($img);
imagedestroy($img);

?>[/code]

So siehts jetzt aus und inzwischen wird nur noch folgender fehler produziert:

[quote]
Warning: Cannot modify header information - headers already sent by (output started at /users/brice-dev/www/jappy.php:1) in /users/brice-dev/www/jappy.php on line 2[/quote]

Google ist dein Freund

Fast 3 mio Antworten.

Hier trotzdem nochmal die Lösung:
Bitte gehe sicher, dass du vor dem “<?” keinerlei ausgabe hast (auch keine leerfelder oder zeilenumbrüche).
Und wenn du die jappy.php per include oder require irgendwo anders eingebunden hast, darf in dieser datei auch keinerlei Ausgabe vor dem include/requiere auftauchen.

Ich hab alle leerstellen und zeilenumbrüche zwischen <? und header(‘Content-Type: image/png’); entfernt und der fehler ist weiterhin der selbe.
Die datei wird später auch nicht included oder required sondern direkt per aufgerufen.
Außerdem glaube ich nicht das google mir eine antwort darauf liefern wird, da das bild ja ohne probleme auf meinem pc läuft.

Edit: Vor dem <? befindet sich auch kein leerzeichen oder zeilenumbruch.

Es geht um Leerzeichen, Zeilenumbrüche oder HTML-Ausgaben vor dem PHP-Tag <?php

Du sollst die Leerzeichen VOR <? entfernen…

*edit: Jemand schneller…
Kann auch sein, dass dein Editor pfuscht…

Sind auch keine vorhanden. ^^

Edit: Habs mir in Dreamweaver CS3 angeguckt und im windows standarteditor…

Hm…

lade bitte mal den Code als txt-Datei hoch, sodass er nicht geparst wird…

Hier die datei als txt

Zwischen <? und dem header sollte ein Zeilenumbruch rein.

Zudem würde ich anstelle von <? <?php verwenden - kA ob das irgendwelche Auswirkungen hat.

Den zeilenumbruch hatte ich entfernt.
Hab ihn jetzt wieder hinzugefügt und dann aus <? ein <?php gemacht.
Der fehler bleibt der selbe…

da ist auf jeden Fall noch irgendwas davor.

Das ist die Adresse?
brice-dev.bplaced.net/jappy.php

einmal im Seitenquelltext geschaut sieht man, dass vor der Fehlermeldung eindeutig noch HTML Code zu sehen ist, was dort definitv nicht hingehört.

<style>.bpe a:link, .bpe a:visited, .bpe a:active { color: #0b4c8e; text-decoration: none; } .bpe a:hover { color: #0D7CEC; }</style> <span class="bpe" style="font: 11px/1.2em Verdana, sans-serif;"><br /> <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /users/brice-dev/www/jappy.php:1) in <b>/users/brice-dev/www/jappy.php</b> on line <b>2</b><br /> </span>(PNG...binärdaten)

mfg Balmung

Ja der gehört aber nicht zu meiner datei O_o
Was soll ich jetz machen?

Hi,

ich würd mich jetzt mal auf Ursachensuche machen… Stört da vlt. ein anderes System?
Woher kommt der Code?

Probiere unterschiedliche Editoren aus.
z.B. “Notepad++”, oder andere schlanke Editoren (alles außer Dreamweaver ^^")

Schon getan ):

Edit:
Der Fehler hat sich jetzt plötzlich ( ohne das ich die datei neu hochgeladen habe! ) verändert.
Jetzt steht wieder da:

scheinbar ja nicht richtig…
Hast du die veränderte Datei auch richtig hochgeladen?
Auch ins richtige Verzeichnis?

Ohne sinn… Es geht jetzt…
Hab die kommentare entfernt, das scheints gewesen zu sein…
Danke an alle die mir so schnell geholfen haben :smiley:

Aha o.0 PHP ist manchmal schon komisch :smiley: