[opgelost] Problemen met imagestring etc.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco Eilander

Marco Eilander

18/12/2013 10:44:32
Quote Anchor link
Hallo,

Ik weet niet precies hoe ik het moet noemen, vandaar dat de titel een beetje raar is.
Gisteren had ik hulp gevraagd, betreft het lezen/ophalen van bepaalde stukjes tekst.
http://www.phphulp.nl/php/forum/topic/informatie-ophalen-van-andere-website-probleem/93276/#668535

Ik heb het met een rare omweg in het "imagestring" gekregen, maar stuit op het volgende probleem :

(je kan het denk ik wel zien, wat de fouten zijn)
Afbeelding

- Voor elke regel staat een gek/apart tekentje
- bij gezondheid staat normaal gesproken een gezonheidsbalkje, en blijkbaar is die vervangen naar " ".

Iemand een idee hoe dat komt, en hoe ik dat weg krijg?

mijn banner.php :
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
<?php

header("Content-Type: image/png");
$afb = imagecreatefrompng("http://www.rmhproductions.nl/test/ledenbg.png");
$im = @imagecreate(300, 150)
    or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 51, 204, 255);
$text_color = imagecolorallocate($im, 51,204,255);
$white = imagecolorallocate($afb, 255, 255, 255);

imagestring($afb,21, 20, 10, file_get_contents('http://www.rmhproductions.nl/test/index.php?user='.$_GET['user'].''), $white);
imagestring($afb, 21, 20, 25, file_get_contents('http://www.rmhproductions.nl/test/power.php?user='.$_GET['user'].''), $white);
imagestring($afb, 21, 20, 40, file_get_contents('http://www.rmhproductions.nl/test/rank.php?user='.$_GET['user'].''), $white);
imagestring($afb, 21, 20, 55, file_get_contents('http://www.rmhproductions.nl/test/getrouwd.php?user='.$_GET['user'].''), $white);
imagestring($afb, 21, 20, 70, file_get_contents('http://www.rmhproductions.nl/test/familie.php?user='.$_GET['user'].''), $white);
imagestring($afb, 21, 20, 85, file_get_contents('http://www.rmhproductions.nl/test/gezond.php?user='.$_GET['user'].''), $white);
imagepng($afb);
imagedestroy($afb);
?>


Ik heb voor elke regel die in de afbeelding moet komen, een file_get_contents gebruikt,
op vele andere manieren crashed alsware de afbeelding (veranderd in allemaal rare tekentjes).
Heeft denk ik te maken met de echo, maar weet ik niet zeker.

Stel dat ik naar :
http://www.rmhproductions.nl/test/index.php?user=sulanum , zou gaan, is er geen html zichtbaar en / of die rare tekentje, dus heeft denk ik te maken met de banner.php.

Alvast bedankt.

Groeten,
Marco
Gewijzigd op 18/12/2013 12:10:58 door Chris -
 
PHP hulp

PHP hulp

25/04/2024 05:54:06
 
Michael -

Michael -

18/12/2013 11:21:51
Quote Anchor link
&nbsp; is een spatie. Deze staat gewoon in de string van 'Power', maar in html wordt deze niet weergegeven. Wel als je deze op een afbeelding gaat plaatsen.
Je kunt deze &nbsp; vervangen door niks met str_replace()

Mijn code in het vorige topic hieronder aangepast
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
<?php
/* De gebruiker waarvan je de gegevens wilt ophalen */
if(!isset($_GET['user'])){$_GET['user'] = 'sulanum';}

/* Pagina ophalen en opslaan in $handle */
$handle = file_get_contents('http://www.secretcrime.nl/member/' . htmlspecialchars($_GET['user'], ENT_QUOTES));
/* Alles tussen <td> en </td> opslaan in $result */
if(isset($handle)){
    preg_match_all('|<td[^>]*?>(.*?)</td>|si', $handle, $result);
}


/* De velden die we willen hebben */
/* Gebruikersnaam, Gezondheid, Power, Land, Getrouwd met, Geld (contant), Geld (bank), Geld (kluis), Familie, Geslacht, Rank, Respectpunten, Bescherming, Vakantie, Lid sinds, Aangebracht door, Laatst online, Attacks gewonnen, Attacks verloren, Aantal vermoord, Voltooide missies */

$fields = Array('Gebruikersnaam','Power','Rank','Getrouwd met','Gezondheid','Familie');

if(isset($result)){
    foreach($result[0] AS $key=>$val){
        $val = strip_tags($val); // Html verwijderen
        if(strlen($val) > 0 && array_keys($fields, $val)){ // Als waarde in $fields voorkomt...
            $array[$val] = str_replace('&nbsp;','',strip_tags($result[0][$key+2])); // opslaan in $array()
        }
    }
}


/* Deze velden weergeven */
if(isset($array)){
    header("Content-Type: image/png");
    
    $afb = imagecreatefrompng("img/ledenbg.png");
    $white = imagecolorallocate($afb, 255, 255, 255);

    imagestring($afb,21, 20, 10, 'Gebruikersnaam: ' . $array['Gebruikersnaam'], $white);
    imagestring($afb, 21, 20, 25, 'Power: ' . $array['Power'], $white);
    imagestring($afb, 21, 20, 40, 'Rank: ' . $array['Rank'], $white);
    imagestring($afb, 21, 20, 55, 'Getrouwd met: ' . $array['Getrouwd met'], $white);
    imagestring($afb, 21, 20, 70, 'Gezondheid: ' . $array['Gezondheid'], $white);
    imagestring($afb, 21, 20, 85, 'Familie: ' . $array['Familie'], $white);
    imagepng($afb);
    imagedestroy($afb);
}
else {
    echo 'Gebruiker niet gevonden';
}

?>

 
Marco Eilander

Marco Eilander

18/12/2013 11:44:08
Quote Anchor link
Michael - op 18/12/2013 11:21:51:
&nbsp; is een spatie. Deze staat gewoon in de string van 'Power', maar in html wordt deze niet weergegeven. Wel als je deze op een afbeelding gaat plaatsen.
Je kunt deze &nbsp; vervangen door niks met str_replace()


Bedankt voor je hulp! Ook erg overzichtelijk.
Wat was eigenlijk het probleem van die rare tekentjes voor de zinnen?
Gewijzigd op 18/12/2013 11:51:38 door Marco Eilander
 
Michael -

Michael -

18/12/2013 11:46:25
Quote Anchor link
Wat bedoel je? Ik krijg je afbeelding gewoon te zien hoor.
 
Marco Eilander

Marco Eilander

18/12/2013 11:48:11
Quote Anchor link
Michael - op 18/12/2013 11:46:25:
Wat bedoel je? Ik krijg je afbeelding gewoon te zien hoor.


Je was mij net voor :P
 
Michael -

Michael -

18/12/2013 12:01:34
Quote Anchor link
Marco Eilander op 18/12/2013 11:44:08:
Bedankt voor je hulp! Ook erg overzichtelijk.
Wat was eigenlijk het probleem van die rare tekentjes voor de zinnen?

Graag gedaan!
Niet zozeer een probleem. Er wordt bij de Power gewoon een spatie voor gezet (voor de afstand tussen het plaatje en de percentage). Zie code van de pagina

<span class="rankbar_text">&nbsp;100%</span></td>
Gewijzigd op 18/12/2013 12:02:01 door Michael -
 



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.