GD Library Thumberstellung - wo liegt der Fehler

WACSF

Erfahrenes Mitglied
Guten Abend,

schreibe seit Tagen an einem Script, dass auf meinem Localhost einwandfrei funktioniert. Nun habe ich es auf meinen Webspace hochgeladen und die Thumberstellung geht nicht mehr.

Zur Info: auf dem Webserver ist "GD 2.0 or higher", so steht es in der phpinfo.php zumindest drin.
Mein Localhost hat folgende: bundled (2.0.28 compatible)

Mir ist klar, dass da irgendein Unterschied ist, aber wieso geht mein PHP CODE nicht auf dem WEbserver. Hier der Ausschnitt, welcher als Funktion aufgerufen wird.
PHP:
function thump_erstellen()
			{
include ("dbconnect.php");
include ("galerie_vars.php");
			$abfrage = "SELECT ID, KATEGORIE, DATUM, WOCHENTAG, BESCHREIBUNG, FOTOGRAF, ICON FROM fa_galerie WHERE ID = $_GET[katid]"; 
  			$ergebnis = mysql_query($abfrage); 
  			while($row = mysql_fetch_object($ergebnis)) 
    						{ 
			
								$PicPathIn="./galerie/$row->KATEGORIE/$row->DATUM ".date("d.m.Y",$row->DATUM)." $row->BESCHREIBUNG ($row->FOTOGRAF)/";
								$PicPathOut="./galerie/$row->KATEGORIE/$row->DATUM ".date("d.m.Y",$row->DATUM)." $row->BESCHREIBUNG ($row->FOTOGRAF)/thumps/";
								echo $PicPathIn;
								$dir = opendir($PicPathIn) or die ("Öffnen des Ordners nicht möglich");
								while ($file = readdir ($dir))
										{
										if($file != "." && $file != "..")
										$bild = $file;
										if(is_file($PicPathIn."/".$bild."/"))
     										{
       																							// Bilddaten ermitteln
												$size=getimagesize("$PicPathIn"."$bild");
												$breite=$size[0];
												$hoehe=$size[1];
												$neueBreite=200;
												$neueHoehe=intval($hoehe*$neueBreite/$breite);
								
												if($size[2]==1) 
													{
												// GIF
												$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild");
												$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe) or die ("imagecreatetruecolor funktioniert nicht");
												imagegif($neuesBild,'',100);
												imagecopyresized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe) or die ("Copy funktioniert nicht");
												imageGIF($neuesBild,"$PicPathOut".""."$bild");
													}
												
												if($size[2]==2) 
													{
												// JPG
												$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
												$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe) or die ("imagecreatetruecolor funktioniert nicht");
												imagejpeg($neuesBild,'',100);
												imagecopyresized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe) or die ("Copy funktioniert nicht");
												ImageJPEG($neuesBild,"$PicPathOut".""."$bild");
													}
								
												if($size[2]==3) 
													{
												// PNG
												$altesBild=ImageCreateFromPNG("$PicPathIn"."$bild");
												$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe) or die ("imagecreatetruecolor funktioniert nicht");
												imagepng($neuesBild,'',100);
												imagecopyresized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe) or die ("Copy funktioniert nicht");
												ImagePNG($neuesBild,"$PicPathOut".""."$bild");
													}
											}
										if(file_exists($PicPathOut."/".$bild))
     										{
       											//echo "/".$bild." existiert bereits<br>";
											}
										else
											{											
											} // else Ende
										} // while2 Ende
							}// while1 Ende
			
			}

An welcher Anweisung liegt es? irgendeine wird ja anscheinend nicht vom Webserver unterstütz. Bitte Bitte helft mir.


Danke schonmal im Vorraus,

WACSF
 
Hi,

gibts auch sowas wie eine Fehlermeldung? Wie du schon sagst, läuft es auf deinem Testsystem... folglich wird der Code an sich ok sein.

Ich tippe mal das dein Webspace Restriktionen hat, die dein Script stören, es kann z.B. sein das der zur Verfügung stehende Speicher (im Gegensatz zu deinem Testsystem) begrenzt ist.
 
Danke erstmal für Deine Antwort. Eine Fehlermeldung wird nicht ausgegeben. Wie finde ich das raus, ob mein WebServer Restriktionen hat?

Bye,

WACSF
 
Oder liegt es an den verschiedenen PHP Versionen?

LOCALHOST PHP: PHP Version 5.0.4
WEBSERVER PHP: PHP Version 4.3.10-16
 
Hi,

also keine Fehlermeldung ist schlecht :(

Schalte mal testweise dein error_reporting an, u.U. siehst du dann etwas.

Ob du Einschränkungen hast, die PHP betreffen, kann dir entweder dein Hoster sagen oder du schaust dir die Ausgabe von phpinfo() mal genauer an. (Hint: memory_limit, post_max_size, usw.)

//edit
da warst du schneller ;)

Klar kann es u.U. auch an den unterschiedlichen PHP-Versionen liegen. Ich empfehle dir, auf deinem Testsystem und deinem Livesystem die gleichen Versionen zu nutzen, dann kannst du solche Fehler ausschließen.
 
Auf beiden Systemen ist post_max_size auf LOCAL:8M und MASTER:8M


Wie mach ich dieses error_reporting?

Bye, WACSF
 
Wieso kann das an der PHP Version liegen, was sind die Unterschiede in meinen Anweisungen?

Bye,

WACSF

Kann ich irgendwie statt der GD LIBRARY die MIME MAGIC ansprechen?
 
Zuletzt bearbeitet:
Danke für Deine Hilfe,

ich werds mal versuchen, aber erst ne Nacht drüber schlafen, dann ist mein Kopf wieder frei.

Bye,
WACSF
 
Zurück