 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
04.04.2008, 01:09
|
#1
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ganz merkwürdiges Problem mit gd und Bildererstellung
Ich lasse bei einem Script per gd_lib nach Upload ein Bild in gewünschten Maßen erstellen. Der Quelltext dazu sieht so aus:
PHP-Code:
$ims = getimagesize($_FILES['datei']['tmp_name']); $img = imagecreatetruecolor(250,250); if($ims['2'] == 1) $org_img = imagecreatefromgif($_FILES['datei']['tmp_name']); if($ims['2'] == 2) $org_img = imagecreatefromjpeg($_FILES['datei']['tmp_name']); if($ims['2'] == 3) $org_img = imagecreatefrompng($_FILES['datei']['tmp_name']); imagecopyresampled($img, $org_img, 0, 0, 0, 0, 250, 250, $ims[0], $ims[1]); imagejpeg($img,"http://www.traum-projekt.com/forum/images/".$lastID.".jpg",75); imagedestroy($img);
Das Bild wird auch Hübsch generiert.. Doch wenn ich es per img - Tag ausgeben lasse, wird das Bild als fehlend angezeigt.
Wenn ich das Bild direkt per Adresszeile aufrufe, bekomme ich entweder ein komplett weiße Seite (also kein 404er)
oder es wird der "Quelltext" der Bilddatei angezeigt.
Also sowas:
Code:
ÿØÿà�JFIF������ÿþ�;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 75 ÿÛ�C� $.' ",#(7),01444'9=82<.342ÿÛ�C 2!!22222222222222222222222222222222222222222222222222ÿÀ��ú�ú"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ�������� ÿÄ�µ��w�!1AQaq"2B‘¡±Á #3RðbrÑ
Wenn ich die Bilder per FTP runterlade, werden sie Problemlos in jedem Graphikprogramm angezeigt.
Ich verstehe einfach nicht, woran das ganze liegt 
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
04.04.2008, 08:58
|
#2
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Hast Du auch einen header für den Content-Type drin?
PHP-Code:
header("Content-type: image/jpeg");
|
|
|
04.04.2008, 14:23
|
#3
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Muss das denn, wenn die Bilder nicht direkt ausgegeben, sondern nur gespeichert werden?
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
04.04.2008, 14:49
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
schau Dir doch mal imagejpeg an
Zitat:
|
Die Angabe des Dateinamens filename ist optional. Fehlt er, werden die erzeugten Bilddaten direkt ausgegeben
|
Du gibst eine Url an !?!
|
|
|
04.04.2008, 15:10
|
#5
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ne.. Die hat das Forum irgendwie dahin gesetzt. Ich hab da einen Pfad zu einem Ordner und da werden die Bilder auch ganz brav gespeichert.
Wenn ich die Bilder dann aus dem Ordner per FTP speichere, dann funktionieren sie auf meinem Rechner ganz wunderbar... Nur wenn ich sie halt per Browser aufrufe, dann werden die so angezeigt (also entweder kein Inhalt, oder halt der Quelltext). Komischerweise habe ich direkt darüber ein paar Zeilen um noch kleinere Thumbs zu erstellen (eigentlich das gleiche, bis auf die Dimensionen des Ergebnisbildes), die funktionieren..
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
04.04.2008, 23:24
|
#6
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Wirklich keiner eine Idee? Kann es auch am Server liegen?
Oder am Rechner vom Upload? Ich hab nämlich in der zwischenzeit mal ein Bild geupped und das lief einwandfrei..
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
05.04.2008, 09:21
|
#7
|
|
TP-Moderator
Registriert seit: Feb 2003
Ort: Erfurt
|
Zitat:
|
$ims = getimagesize($_FILES['datei']['tmp_name']);
|
vesuche mal, deine Angaben nicht aus der temporären Datei zu holen, sondern von der endgültig hochgeladenen Datei.
__________________
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!
|
|
|
05.04.2008, 12:17
|
#8
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Also, ich hab es jetzt hinbekommen. Aber ich hab keinen Plan, was jetzt genau der Fehler war.
Das alte Script sah komplett so aus (Generierung von Bildern in 250x250 und 35x35):
PHP-Code:
// Bilder in 250x250 $ims = getimagesize($_FILES['datei']['tmp_name']); $img = imagecreatetruecolor(250,250); if($ims['2'] == 1) $org_img = imagecreatefromgif($_FILES['datei']['tmp_name']); if($ims['2'] == 2) $org_img = imagecreatefromjpeg($_FILES['datei']['tmp_name']); if($ims['2'] == 3) $org_img = imagecreatefrompng($_FILES['datei']['tmp_name']); imagecopyresampled($img, $org_img, 0, 0, 0, 0, 250, 250, $ims[0], $ims[1]); imagejpeg($img,"images/".$lastID.".jpg",75); imagedestroy($img);
//Bilder in 35x35 $img = imagecreatetruecolor(35,35); if($ims['2'] == 1) $org_img = imagecreatefromgif($_FILES['datei']['tmp_name']); if($ims['2'] == 2) $org_img = imagecreatefromjpeg($_FILES['datei']['tmp_name']); if($ims['2'] == 3) $org_img = imagecreatefrompng($_FILES['datei']['tmp_name']); imagecopyresampled($img, $org_img, 0, 0, 0, 0, 35, 35, $ims[0], $ims[1]); imagejpeg($img,"images/thumbs/".$lastID.".jpg",75); imagedestroy($img);
Wobei das komische war, daß die Bilder in 35x35 immer funktionierten.
Das funktionierende Script sieht jetzt so aus:
PHP-Code:
// Bild erstellen (250 x 250) $ims = getimagesize($_FILES['datei']['tmp_name']); $size= $ims; $image_new = imagecreatetruecolor(250, 250); if($size['2'] == 1) $org_img = imagecreatefromgif($_FILES['datei']['tmp_name']); if($size['2'] == 2) $org_img = imagecreatefromjpeg($_FILES['datei']['tmp_name']); if($size['2'] == 3) $org_img = imagecreatefrompng($_FILES['datei']['tmp_name']);
imagecopyresampled($image_new, $org_img, 0,0, 0,0,250,250,$size[0],$size[1]); imageinterlace($image_new,1); imagejpeg($img,"images/".$lastID.".jpg",100); imagedestroy($image_new); // Thumbs erstellen (35x35) $img = imagecreatetruecolor(35,35); if($ims['2'] == 1) $org_img = imagecreatefromgif($_FILES['datei']['tmp_name']); if($ims['2'] == 2) $org_img = imagecreatefromjpeg($_FILES['datei']['tmp_name']); if($ims['2'] == 3) $org_img = imagecreatefrompng($_FILES['datei']['tmp_name']); imagecopyresampled($img, $org_img, 0, 0, 0, 0, 35, 35, $ims[0], $ims[1]); imagejpeg($img,"images/thumbs/".$lastID.".jpg",75); imagedestroy($img);
Bis auf ein paar Änderungen in den Variabelnamen im ersten Block, sind die beiden ja absolut identisch. Deswegen habe ich überhaupt keinen Plan, was das genaue Problem war.
Zumindestens werden jetzt alle Bilder angezeigt, wenn sie per img-Tag eingebunden werden. Aber wenn man sie direkt aufruft, wird immer noch nur dieser komische Quelltext angezeigt. Aber das auch nur im Firefox und auch bei Bildern, die wir per Photoshop erstellt haben und hochgeladen. Ich tippe da auf einen Bug im Firefox (da es auf unterschiedlichen Testrechnern auftrat)
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
07.04.2008, 16:43
|
#9
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Mmh.. Ich hab mich wohl zu früh gefreut...
In den meisten Fällen funktioniert das Script ohne Probleme.. Aber bei einem Bild wird wieder nix angezeigt. Das Bild wird in den Browsern als fehlend angezeigt, obwohl es definitiv auf dem Server liegt. Beim Direktaufruf wird wieder nur eine weiße Seite angezeigt (kein 404er). Und wenn es per FTP runtergeladen wurde, dann wird das Bild in Bildbearbeitungsprogrammen Problemlos geöffnet und angezeigt.
Ich vermute ja, daß da irgendwas mit dem Server bzw. mit der PHP- Konfiguration im Argen liegt.
Denn komischerweise werden Weiterleitungen per header() ausgeführt, auch wenn in dem Script vorher Fehler ausgegeben werden (wobei jetzt bei diesem Bild keine Fehler angezeigt werden)..
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
11.04.2008, 10:35
|
#10
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
*gnarf* War heute mal auf dem Webspace mit einem anderen FTP- Programm. Und was sehe ich? Eine .htaccess- Datei, die mir das andere Proggi gar nicht angezeigt hat.
Und in dieser Datei steht von einem anderen Programmierer noch drin, daß alle Dateien als application/x-httpd-php ausgeliefert werden sollen.
Wer kann den ahnen, daß jemand so einen Müll macht 
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:46 Uhr.
|
 |