Bild an Browser ausgeben

saila

Erfahrenes Mitglied
Hi,

folgender Code liegt in einer Datei (images.php), welche in eine andere eingebunden wird. Problem - das Bild wird nicht an den Browser übergeben.

PHP:
<?php
if(isset($_REQUEST['u']) AND $_REQUEST['u'] > 0) {

	$pibb = mysql_query("SELECT
							userid,
							filedata,
							dateline,
							filename,
							width,
							height
						 FROM
						 	".__TABLE__PREFIX."customprofilepic
						 WHERE
						 	userid = ".$_REQUEST['u']." AND
						 	visible = 1
						 ORDER BY
						 	userid
						 LIMIT 1") or die ("PicAva: ".mysql_error());
	if($ss = mysql_num_rows($pibb) > 0) {

		$imageinfos = mysql_fetch_object($pibb);
		header('Cache-control: max-age=31536000');
		header('Expires: ' . gmdate('D, d M Y H:i:s', (time() + 31536000)) . ' GMT');
		header('Content-disposition: inline; filename=' . $imageinfos->filename);
		header('Content-transfer-encoding: binary');
		header('Content-Length: ' . strlen($imageinfos->filedata));
		header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $imageinfos->dateline) . ' GMT');
		header('ETag: "' . $imageinfos->dateline . '-' . $_REQUEST['u'] . '"');

		$extension = trim(substr(strrchr(strtolower($imageinfos->filename), '.'), 1));

		if ($extension == 'jpg' OR $extension == 'jpeg') { header('Content-type: image/jpeg'); }
		elseif ($extension == 'png') { header('Content-type: image/png'); }
		else { header('Content-type: image/gif'); }

		echo $imageinfos->filedata;
	}
}
?>

Teste ich das ganze auf einer Seite ohne weiteren HTML-Code, wird das Bild ausgegeben. Das Bild wird wie folgt auf der Seite eingebunden:

PHP:
<?php
echo "<img src=\"images.php?u=234234\" width=\"80\" height=\"100\" alt=\"ava\" />";
?>

Wo liegt der Denkfehler?
 
Zuletzt bearbeitet:
Ich sehe da keinen Denkfehler.
Speichere mal das(wohl fehlerhaft ausgegebene Bild)....aus der HTML-Version heraus auf deinem Rechner und schaue es dir mit einem Editor an, vielleicht steht dort eine Fehlermeldung o.ä. drinnen.
 
Zurück