Es wird nur ein Teil vom erzeugten Bild ausgegeben! (imagejpeg)

WEBi

Mitglied
hallo zusammen,

Ich will mit PHP, Bilder erzeugen (nicht speichern) und ausgeben. Das Script funktioniert bei einem Bild pro Seite wunderbar!
Sobald PHP mehrere Bilder auf einer Seite erzeugen muss, werden bei allen Bildern nur 60-80% davon angezeigt (siehe Anhang, habs mit der Maus markiert um zu sehen wieviel vom Bild fehlt) ;)

PHP:
	public function ShowImage() {
		 switch (exif_imagetype($this->GetImageSrc())) {
			case IMAGETYPE_GIF:
    			header('Content-Type: image/gif');
    			$img = imagecreatefromgif($this->GetImageSrc());
    			break;
			case IMAGETYPE_PNG:
    			header('Content-Type: image/png');
    			$img = imagecreatefrompng($this->GetImageSrc());
    			break;
			case IMAGETYPE_JPEG:
			default:
    			header('Content-Type: image/jpeg');
    			$img = imagecreatefromjpeg($this->GetImageSrc());
    			break;
		}

		$imgsize        = getimagesize($this->GetImageSrc()); 
	    $breit        = $imgsize[0]; 
	    $hoch         = $imgsize[1]; 

	    $new            = imagecreatetruecolor($breit,$hoch); 
    	imagecopyresized($new, $img, 0,0, 0,0, $breit,$hoch, $imgsize[0],$imgsize[1]); 

    	$bild_werbung =		PATH_BASE . DIR_BASE . DIR_SYSTEM_IMAGES ."branding.png"; 
		$img_werbung        = imagecreatefrompng($bild_werbung); 
    	$imgsize_werbung    = getimagesize($bild_werbung); 
	    $breit_werbung      = $imgsize_werbung[0]; 
	    $hoch_werbung       = $imgsize_werbung[1]; 

    	$posleft       = 0 ; 
	    $postop        = $hoch - $hoch_werbung; 

    	imagecopyresized($new, $img_werbung, $posleft,$postop-3, 0,0, $breit_werbung,$hoch_werbung, $breit_werbung,$hoch_werbung); 
		
		header("Expires: Mon, 2 Mar 2020 05:00:00 GMT\n");
		header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
		header("Content-Transfer-Encoding: binary");
		header("Content-Length: ". filesize($this->GetImageSrc()) ."\n");
		
		$image = imagejpeg($new,'',90);
		imagedestroy($img);
		imagedestroy($new);
		imagedestroy($img_werbung);
		return $image;
	}

Hat jemand eine Ahnung was da sein kann?
ini_set('memory_limit',"512M"); hab ich schon alles getestet.

Danke
 

Anhänge

  • sample.jpg
    sample.jpg
    32,1 KB · Aufrufe: 13
also ini_set('max_execution_time', 300); hat auch nichts gebracht! :(
hab auch set_time_limit(0); eingestellt.

Es sieht so aus, als ob er das Script bzw die Auslieferung abbricht sobald das nächste Bild erzeugt wird.
 
Zurück