• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Chrom bei GD-Lib

TecEye

New member
Hy Leute, ich verzweifel.
Ich habe einige viele Grafiken auf meiner Site mit der PHP GD-Lib erstellt, jeder Browser zeigt diese an (sogar der IE :D) nur die Browser auf Chrombasis machen faxen, die zeigen die bilder für eine kurze korrekt an und dann verschwinden sie wieder, als wäre der pfad inkorrekt oder der gd-code falsch, aber ist er ja nicht, und da er die bilder ja für ein paar sekunden anzeigt geh ich wahrscheinlich von einem speicherproblem aus oder so. Ich hab kein plan, bin mit dem Latein am ende. Hat das schonmal jemand erlebt, Erfahrung oder eine Idee worans liegen könnte? (Die GD-Lib Bilder geb ich in PNG aus)

Hier z.B. mal mein arrow_small_right.php
PHP:
<?php 
Header ("Content-type: image/png");
$width 	= 9;
$height 	= 9;
$img 		= imagecreatetruecolor($width, $height);
$color_1 	= $_GET['color'];
$color_1_r 	= hexdec(substr($color_1, 0, 2));
$color_1_g 	= hexdec(substr($color_1, 2, 2));
$color_1_b 	= hexdec(substr($color_1, 4, 2));
$color1 	= ImageColorAllocate($img, $color_1_r, $color_1_g, $color_1_b);

$almostblack = ImageColorAllocate($img,254,254,254); 
imagefill($img,0,0,$almostblack); 
imagecolortransparent($img,$almostblack);

imageline($img, 2, 0, 6, 4, $color1);
imageline($img, 6, 4, 2, 8, $color1);

ImagePng ($img);
ImageDestroy ($img);
?>

Hat Chrome ev Probleme mit PNG?
 
Zuletzt bearbeitet:
Laut Fehlerkonsole des GoogleChrome liegt es an einem TimeOut, was komisch ist, da Bilder ja angezeigt werden für 1-2 Sekunden und dann verschwinden. Hab es jetzt auf verschiedenen Rechnern mit unterschiedlichen Chrome/Iron Versionen versucht. Ist immer das gleiche :(
 
Was passiert denn, wenn du das Bild mit einem anderen Browser speicherst? Läßt sich dann das bild mit chrome betrachten? Was sagt ein Bildbearbeitungsprogramm dazu?
 
Hab das obige script mal unter XAMPP laufen lassen. Kann den Fehler unter Crome (21.0.1180.60 m) nicht nachvollziehen.
 
also ich werde heute mittag mal einen testlink zur Verfügung stellen, habe jetzt noch an weiteren Standorten versucht, es liegt wohl an der inetleitung in kombination mit chrom, bei langsamer inetleitung bricht der Chrom das laden der bilder bei 3Sek ab, andere Browser haben mit der langsamen inetleitung kein problem, habe jetzt ein wenig mit meiner php.ini rumgespielt und timeoutwerte erhöht, aber bringt nix..
Ja das ist der Wortlaut der Fehlerkonsole: Failed to load resource TimeOut()
wenn ich das image aber alleine anspreche, also direkt öffne, wird es angezeigt, nur in der masse der ganzen page wohl nicht :(
 
Dahinter stehen die Pfade zu den PHP-Images
OK Danke, es wäre aber einfacher gewesen wenn du uns die Meldung einfach vollständig kopiert hättest (zur Not halt die URL unkenntlich machen), so mussten wir jeden Schritt erraten bzw. dir aus der Nase ziehen.

Deine Aussage
Dahinter stehen die Pfade zu den PHP-Images
suggeriert, das das bei allen (wievielen?) Bildern die du so erzeugst passiert? Das wäre dann wiederrum verwunderlich, wenn ausgerechnet nur bei diesen Resourcen ein Timeout erfolgt, bei allen anderen aber nicht. Und wenn das dann auch noch reproduzierbar so ist, dann muss da etwas anderes im argen liegen.
 
Ja bei allen produzierten PHP-Images, interessant ist, wenn man auf ein Image geht, rechts-Klick Bild im neuen Tab öffnen, dann wird es korrekt angezeigt.
Interessant ist auch, dass die Bilder für 1-2 Sekunden richtig dargestellt werden und sobald die Seite komplett geladen ist verschwinden.
Es handelt sich meist im nichtmal 2KB Dateien davon maximal 15-20 auf der seite (es handelt sich um kleine farbangepasste arrows)
 
Kann es sein, dass der Timeout vom Server kommt?
Wenn das Skript 15-20 Parallel aufgerufen wird, kann ich mir schon vorstellen, dass das eine gewisse Last erzeugt. Bilder dynamisch erstellen, sollte man nicht unbedingt bei jedem Aufruf machen.

Wobei es aber komisch ist, dass es nur bei einem Browser nicht funktioniert. Das könnte aber auch an einem unterschiedlichen cacheverhalten liegen. Welche http Header werden denn gesendet?
 
Die erzeugung eines der Images dauert bei den anderen Browsern grade mal 10ms, ist ja nix großartiges zu machen, sind zwei striche.
Serverseitig hab ich auch erst gedacht, daher hab ich die php.ini abgeändert (memory_limit & default_socket_timeout), aber da tut sich nix!
Welche http Header werden denn gesendet?
Header ("Content-type: image/png");
 
OK, das habe ich befürchtet. Kannst du dir bitte ein wenig mehr Mühe geben, wenn wir versuchen dir zu helfen?

Das dieser Header gesendet wird wissen wir, steht im ja im Quellcode. Ob das aber alle Header sind, die im Browser ankommen können wir nicht Wissen, da du uns ja leider keine URL geben kannst oder willst. Daher musst du prüfen welche header im Browser ankommen, wenn du meine Frage beantworten möchtest - deine Postings lesen kann ich selber.
 
OK, das habe ich befürchtet. Kannst du dir bitte ein wenig mehr Mühe geben, wenn wir versuchen dir zu helfen?

Das dieser Header gesendet wird wissen wir, steht im ja im Quellcode. Ob das aber alle Header sind, die im Browser ankommen können wir nicht Wissen, da du uns ja leider keine URL geben kannst oder willst. Daher musst du prüfen welche header im Browser ankommen, wenn du meine Frage beantworten möchtest - deine Postings lesen kann ich selber.

Sorry, war keine absicht, mehr unwissenheit, ich will den Fehler ja finden, kannst du mir sagen wo ich den Header im Browser finde
 
Zurück
Oben