GD Library - Keine Fehlermeldung, aber Thumbnail wird nicht erstellt

Sebs

Mitglied
Hallo,

Ich hab folgendes Problem. Ich hab eine Thumbnailfunktion:

PHP:
	function thumb_jpeg($image_name) 

	{ 

	    global $source_path; 

	    global $destination_path; 

	

	    global $new_width; 

	    global $new_height; 

		

	    global $quality; 

	

	    $destimg=ImageCreateTrueColor($new_width,$new_height) or die("Problem In Creating image"); 

	

	    $srcimg=ImageCreateFromJPEG($source_path.$image_name) or die("Problem In opening Source Image"); 

	

	    ImageCopyResized($destimg,$srcimg,0,0,0,0,$new_width,$new_height,ImageSX($srcimg),ImageSY($srcimg)) or die("Problem In resizing"); 

	

	    ImageJPEG($destimg,$destination_path.$image_name,$quality) or die("Problem In saving"); 

	}

Lokal auf meinem Rechner klappt das ganze Wunderbar. Sobald ich das auf unseren Server lade, klappt nichts mehr. Ich bekomme zwar keine Fehlermeldung, aber das Thumbnail wird auch nicht geschrieben!
Ich hab alle Pfade überprüft etc. Alles richtg. Dann hab ich chmod bearbeitet es hilft nichts
Wer hilft mir

MfG

Sebastian
 
Vergleiche deine php.ini mit der auf dem Server, ist die Extension da auch eingebunden?
Ist die GDLib auf dem Server in der richtigen Version vorhenden? Sollte mindestens GDLib 2 sein.
 
Du versuchst ein Bild in einer Funktion aus dem Script heraus bazurufen und das geht natürlich nicht. (Zumindest nehme ich es an!)

Um ein Bild auszugeben, muss der richtige header() gesendet werden. Das gleiche gilt bei operationen. Bestenfalls speicherst du dein Script in eine eigene PHP Datei ab. Diese ruftst du dann mittel <img src="deine.php"> ab. Du kanns natürlich Parameter übergeben:
<img src="deine.php?das=das&dies=dies">

Ansonsten habe ich deine Frage nicht ganz verstanden!

Ich nehme aber auch an, dass du einen Linux Server hast, und Lokal ein Windows Server. Bekommst du so nur eine weise Seite zu gesicht, versuch mal alle (und auschlisslich alle) Leerzeichen nach dem ?> zu löschen, speicher neu ab, dann sollte es gehen.
 
Zuletzt bearbeitet von einem Moderator:
Lukasz hat gesagt.:
Du versuchst ein Bild in einer Funktion aus dem Script heraus bazurufen und das geht natürlich nicht. (Zumindest nehme ich es an!)

Um ein Bild auszugeben, muss der richtige header() gesendet werden. Das gleiche gilt bei operationen. Bestenfalls speicherst du dein Script in eine eigene PHP Datei ab. Diese ruftst du dann mittel <img src="deine.php"> ab. Du kanns natürlich Parameter übergeben:
<img src="deine.php?das=das&dies=dies">

Ansonsten habe ich deine Frage nicht ganz verstanden!

Ich nehme aber auch an, dass du einen Linux Server hast, und Lokal ein Windows Server. Bekommst du so nur eine weise Seite zu gesicht, versuch mal alle (und auschlisslich alle) Leerzeichen nach dem ?> zu löschen, speicher neu ab, dann sollte es gehen.

oO ah ja der Lukaz wieder. Is dir nich aufgefallen, dass er das Bild schreibt und nich ausgibt? ...

@Threadersteller kann daran liegen, dass die Leutz von deinem Space das Fehlerausgeben standardmäßig ausgeschaltet haben. Versuchs mal so: error_reporting(E_ALL); Wobei selbst ohne dem sollte er die dies anzeigen oO
 
Also das ist mir schon aufgefallen, aber bei mir geht es ohne heder() zu senden auch nicht eins zu erstellen! Oder ich mach da auch was falsch. Weil der header für IMAGE muss (denke) gesendet werden, um es schreiben zu können, nicht um es aber zu speichern. Kann mich aber auch irren. Eben bei mir geht es eben auch wenn der header() gesendet wird. Zudem auch nur sofern dies als erstes geschieht.



Gruss
 
Zuletzt bearbeitet von einem Moderator:
Warum sollte man denn einen Header an den Client schicken, wenn man eine Datei lokal speichert?
Zum Problem: Prüfe doch mal, ob alle Variablen richtig belegt sind. E_ALL ist auch eine gute Alternative..
 
Ja eben zu speichern nicht aber er tut Sie auch berechnen oder sehe ich das falsch?

PHP:
$destimg=ImageCreateTrueColor($new_width,$new_height) or die("Problem In Creating image");

sind doch Befehle die die GD fordern?
 
Lukasz hat gesagt.:
Ja eben zu speichern nicht aber er tut Sie auch berechnen oder sehe ich das falsch?

PHP:
$destimg=ImageCreateTrueColor($new_width,$new_height) or die("Problem In Creating image");

sind doch Befehle die die GD fordern?
ImageJPEG($destimg,$destination_path.$image_name,$quality) or die("Problem In saving");

Hier speichert er das Bild und gibt es nicht aus. Bei nichtausgabe auch kein Header.
 
Zurück