Problemen met imagepng en header

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Brian T

Brian T

05/12/2011 20:40:40
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?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.
Gewijzigd op 05/12/2011 21:28:42 door Brian T
 
PHP hulp

PHP hulp

03/11/2024 11:33:03
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/12/2011 20:57:50
Quote Anchor link
Brian, zet ff je code tussen code en /code tussen []
 
Brian T

Brian T

05/12/2011 21:20:41
Quote Anchor link
@Ger: Heb ik nu gedaan!
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/12/2011 21:27:53
Quote Anchor link
en dan ook nog ff beginnen met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en afsluiten met ?>
 
Brian T

Brian T

05/12/2011 21:29:01
Quote Anchor link
Check! :D
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/12/2011 21:40:40
Quote Anchor link
zo wordt het al een stuk duidelijker
wat ik zover kan zien is dat $bg_img_link nregns vandaan komt
 
Brian T

Brian T

05/12/2011 21:41:51
Quote Anchor link
Whoops.. Dat stukje boven deze tekst, niet erbij gevoegd. En deze (de bg) werkt dus wel.
Gewijzigd op 05/12/2011 21:42:11 door Brian T
 
The Force

The Force

05/12/2011 21:42:46
Quote Anchor link
Met header("Location: ...") stuur je de pagina door. Dus het zou best kunnen zijn dat je plaatje wel gemaakt wordt maar dat je het niet ziet omdat je geredirect wordt.
 
Brian T

Brian T

05/12/2011 21:43:39
Quote Anchor link
Deze redirect heb ik er ingemaakt aangezien de image niet wilde komen.
 
- Ariën  -
Beheerder

- Ariën -

05/12/2011 21:49:04
Quote Anchor link
haal die eens weg?
 
Brian T

Brian T

05/12/2011 21:51:26
Quote Anchor link
Wat ik probeer te verklaren..
Als ik de header en dergelijke daar laat. Zonder de redirect en de // tekens.
Dan krijg ik de error, van firefox;

De afbeelding “http://localhost/pi-banner.php?id=1000” kan niet worden weergegeven, omdat deze fouten bevat

Maar het plaatje werkt wel als deze, via imagepng output, naar een file wordt geschreven.

Vandaar dat ik hier om hulp vraag.

Groet,
Brian
Gewijzigd op 05/12/2011 21:52:12 door Brian T
 
The Force

The Force

05/12/2011 21:52:13
Quote Anchor link
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.
 
Brian T

Brian T

05/12/2011 21:54:15
Quote Anchor link
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.
 
The Force

The Force

05/12/2011 22:00:11
Quote Anchor link
Zet error reporting dan eens aan en kijk wat voor foutmelding je krijgt.

Bovenaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php of HTML bijvoorbeeld).
 
Brian T

Brian T

05/12/2011 22:07:49
Quote Anchor link
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.
Gewijzigd op 05/12/2011 22:40:45 door Brian T
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/12/2011 09:37:28
Quote Anchor link
Een workaround: (wel header op image/png zetten)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
ob_start();
imagepng($img);
$img_bin = ob_get_contents();
ob_end_clean();
echo $img_bin();
?>
Gewijzigd op 06/12/2011 09:39:42 door Ger van Steenderen
 
Brian T

Brian T

06/12/2011 19:49:19
Quote Anchor link
Bedankt Ger..
Maar ik houdt het anders toch op het huidige systeem.
Aangezien, een ander png script wel werkt.

Iedereen, toch bedankt!.

Groet,
Brian
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.