Hallo,

Ik heb een probleem met mijn php script die een flight status toont, in png vorm.
Ik heb ook al hulp gevraagd op een ander forum, maar die konden me niet helpen. Aangezien de header erin zit. De commands en dergelijke..

Het gaat om de volgende stuk tekst:


<?php
//header('Content-Type: image/png');
	require $cfg_link;

	$con = mysql_connect($host, $username, $password) or die("Cant connect! - " . mysql_error());
	mysql_select_db($database, $con) or die("Cant select db! - " . mysql_error());

	$query = mysql_query("SELECT COUNT(IDPilot) AS nof, AVG(LandingVS) AS AvgLdgVS, AVG(LandingIAS) AS AvgLdgIAS, SUM(DistanceFlight) AS TotalFlyDist, SUM(BlockTime) AS TotalHrs FROM pirep WHERE IDPilot='" . $_GET['id'] . "' ", $con) or die("Error! - " . mysql_error());
	$pirep = mysql_fetch_array($query); //The PIREP query
	$queryy = mysql_query("SELECT * FROM pilots WHERE IDPilot='" . $_GET['id'] . "' ", $con) or die("Error! - " . mysql_error()); $pilot = mysql_fetch_array($queryy); //The Pilot Query

	$line1	= "Pilotname: " . $pilot['FullName'] . " (ID: " . $pilot['IDPilot'] . ")";
	$line2	= "Country: " . $pilot['Country'];
	$line3	= "Nbr Flights: " . $pirep['nof'];
	$line4	= "Avg Landing VS: " . $pirep['AvgLdgVS'];
	$line5	= "Avg Landing IAS: " . $pirep['AvgLdgIAS'];
	$line6	= "Total Dist Flyed: " . $pirep['TotalFlyDist'] . " NM's";
	$line7	= "Total Time Flyed: " . $pirep['TotalHrs'];

	// /*

	$img = imagecreatefrompng($bg_img_link);
	$txtw = imagecolorallocate($img, 255, 255, 255);
	$txtb = imagecolorallocate($img, 0  ,   0,   0);
	
	imagestring($img, 5, 35, 20, $line1, $txtw);
	imagestring($img, 5, 35, 35, $line2, $txtw);
	imagestring($img, 5, 35, 50, $line3, $txtw);
	imagestring($img, 5, 35, 65, $line4, $txtw);
	imagestring($img, 5, 35, 80, $line5, $txtw);
	imagestring($img, 5, 35, 95, $line6, $txtb);
	imagestring($img, 5, 35, 110, $line7, $txtb);

	imagestring($img, 3,  2, 205, "Flights Of Brian - Private System", $txtb);
	
	imagepng($img);
	imagedestroy($img);
	// */

	 /*
	print $line1; print "<br>";
	print $line2; print "<br>";
	print $line3; print "<br>";
	print $line4; print "<br>";
	print $line5; print "<br>";
	print $line6; print "<br>";
	print $line7; print "<br>";
	 */

	header("Location: members/" . $pilot['IDPilot'] . "-pi.PNG");
?>


Aangezien dit script, het plaatje niet toont. Maar wel kan tonen, via een output heb ik een output erop gezet. Maar om ruimte te besparen, zou ik graag dit intern laten zien. via de php file dus. En ter informatie.. Dit is een combinatie van php en mysql.
En ik weet, de header en dergelijke zijn op dit moment, gemarkeerd als opmerking maar dat is expres. Zodat er geen problemen zouden voorkomen.

Ik hoop dat iemand mij kan helpen..

Groet,
Brian

P.S.
Ik ben sinds net geregistreerd dus excuses als dit het verkeerde forum is.
Zijn de locaties wel correct? Ik zou het gewoon meteen outputten, niet ergens in een bestand zetten en daarna daarnaar verwijzen. Dan hoef je die laatste redirect niet te doen. Zie http://php.net/manual/en/function.imagepng.php. Als je dat perse wil dan moet je bij imagepng() een tweede parameter meegeven om de locatie te krijgen en dan daarna naar exact die locatie verwijzen in de redirect.
Het punt is.. Ik wil het, in PHP laten vertonen. Maar firefox laat dus deze melding zien. En het png plaatje, werkt wel als ik deze via dit php bestand, laat schrijven (de 2é parameter van imagepng dus) naar een file. Oftewel, in PHP, geeft firefox problemen. En als ik het png plaatje zelve bekijk, is er geen probleem.
Zet error reporting dan eens aan en kijk wat voor foutmelding je krijgt.

Bovenaan:

<?php
error_reporting(E_ALL);
ini_set('display_errors','On');
?>


Zorg er overigens voor dat je ALLEEN het plaatje output, niets anders (lege regel boven <?php of HTML bijvoorbeeld).
Hij blijft het probleem aanhouden!..
En dat van extras. Dat is bij deze niet het geval.

Ik heb net eens geprobeerd met een output van alleen de tekens van png.
Hier zag ik visueel, geen html. Enkel de hele code van dat png bestand.
En in de bronweergave, alleen een server stukje. Maar die krijg ik niet weg.
Maar ik nog een ander image script heb, die wel werkt. Dus aan html kan het ook niet liggen.
Een workaround: (wel header op image/png zetten)
<?php
ob_start();
imagepng($img);
$img_bin = ob_get_contents();
ob_end_clean();
echo $img_bin();
?>
Bedankt Ger..
Maar ik houdt het anders toch op het huidige systeem.
Aangezien, een ander png script wel werkt.

Iedereen, toch bedankt!.

Groet,
Brian

Reageren