[php] plaatje project-dolphin invoegen op pagina

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
Op de pagina van project dolphin staat een php scriptje wat een plaatje gebereerd waarin je je stats kan zien.

het script ziet er als volgt uit:
code:
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
<?
/* Insert headers */
header("Content-type: image/png");

/* Create image and define colors */
$img = imagecreatefrompng("blank.png");
$white = imagecolorallocate($img,255,255,255);

/* Check for a valid UserID, and if: fetch information */
$uid = $_GET['uid'];
if (!is_numeric($uid)) {
  imagestring($img,2,45,7,"Invalid UserID",$white);
} else {
  $fd = fopen("http://dolphin.twistification.net/extra/userdata.php?uid=".$uid,"r");
  $username = fgets($fd,1024);
  $keycount = fgets($fd,1024);
  $rank = fgets($fd,1024);
  fclose($fd);

/* If the information prints out an error, print it to the image */
  if ($username == "Invalid uid") {
    imagestring($img,2,45,7,"Invalid UserID",$white);
  } elseif ($username == "ERROR") {
    imagestring($img,2,55,7,"ERROR!",$white);

/* Else output the normal image */
  } else {
    if ($rank != "none") {
      $rank = number_format($rank);
    }
    imagestring($img,2,45,2,"Keys: ".number_format($keycount),$white);
    imagestring($img,2,45,13,"Rank: ".$rank,$white);
  }
}

/* And send the image to the user */
imagepng($img);
?>


Erg ingewikkeld is het niet, het hallt gewoon je stats op en zet ze in het plaatje. Nu is het probleem dat het mij niet lukt om dat plaatje in een website op te nemen.

Dit komt doordat er in staat: header("Content-type: image/png");
Er wordt dus verwacht dat het hele document een plaatje is, als je verderop een andere header zet kan dit niet doordat er dan dubbele headers zijn.
Als je die header weg haalt krijg je de code van het plaatje te zien (allemaal rare tekens dus)

iemand enig idee hoe dit wel kan?
(het document opnemen in een iframe werkt wel, maar dat ziet er niet erg mooi uit...)

Verwijderd

Als je alleen maar text weer geeft, waarom doe je dat in een plaatje dan?

  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
omdat het er mooier uit ziet, de text staat dus op het plaatje.
de gegevens (de text die op het plaatje staat) zijn er ook wel los uit te halen door met echo $keycount en $rank af te drukken

maar de bedoeling is nou juist om dat plaatje met die nummers er op weer te geven

  • AtlonXP1800
  • Registratie: Augustus 2001
  • Laatst online: 29-01-2025
oplossing gevonden :D

in plaats van rechtstreeks naar de browser te schrijven kan je er dit van maken:

imagepng ($img,"bla.png");

hierdoor wordt het plaatje naar het bestand bla.png weggescreven.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Of gewoon in je HTML pagina dit zetten:
code:
1
[img]"pagina_met_stats_script.php"[/img]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18

killercow

eth0

imagepng ($img,"bla.png"); kun je inderdaad gebruiken om het document naar schijf te schrijven , hiermee kun je bijvoorbeeld caching inbouwen,
maar ik zou idd gewoon de oplossing van OkkE doen, je php script met de image code gewoon via html aanroepen.
een browser verwacht een image document als src van een img tag, en dat is precies wat bovenstaande php hem geeft.

openkat.nl al gezien?


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

php hoort in P&W niet in W&G (lees de FAQ's er nog eens op na)

Verder zijn wij hier niet de handleiding voor scripts die jij van internet download ;) Wat OkkE zegt had je ook nog wel zelf kunnen bedenken.
Pagina: 1

Dit topic is gesloten.