Php Script in HTML einbinden

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

BlackPanda

Neues Mitglied
1 September 2020
4
0
1
32
Hallo liebe Community,

Ich bin neu hier und habe gleich ein Anliegen. Ich habe dieses PHP Code im Internet gefunden und würde ihn gerne in eine einfache html Seite einbinden.


Code:
function getnextstring(&$data)
{
    $temp="";
    $counter=0;
    while (ord($data[$counter++])!=0) $temp.=$data[$counter-1];
    $data=substr($data,strlen($temp)+1);
    return $temp;
}
 
function getnextbytevalue(&$data)
{
    $temp=ord($data[0]);
    $data=substr($data,1);
    return $temp;
}
 
function getServerData($command,$serveraddress,$portnumber,$waittime)
{
    $serverdata="";
    $serverdatalen=0;
    
    if ($waittime< 500)
    $waittime= 500;
    
    if ($waittime>2000)
    $waittime=2000;
    
    $waittime=doubleval($waittime/1000.0);
 
    if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr))
    {
        print("No connection");
        return "";
    }
    
    @socket_set_blocking($cssocket,true);
    @socket_set_timeout($cssocket,0,500000);
    fwrite($cssocket,$command,strlen($command));
    $starttime=microtime(true);
    do
    {
        $serverdata.=fgetc($cssocket);
        $serverdatalen++;
        $socketstatus=socket_get_status($cssocket);
        if (microtime(true)>($starttime+$waittime))
        {
            print("Connection timed out");
            fclose($cssocket);
            return "";
        }
    }
    
    while ($socketstatus['unread_bytes']);
    fclose($cssocket);
    
    
    return $serverdata;
}
 
function getPlayersServer($ip, $port) {
 
    $command = "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00";
 
    $result = getServerData($command, $ip, $port, 1000);
 
    $info = array();
    $serverdata = substr($result, 5);
 
    $info['serveraddress'] = getnextstring($serverdata);
    $info['servername'] = getnextstring($serverdata);
    $info['mapname'] = getnextstring($serverdata);
    $info['game'] = getnextstring($serverdata);
    $info['gamename'] = getnextstring($serverdata);
    $info['currentplayers'] = getnextbytevalue($serverdata);
    $info['maxplayers'] = getnextbytevalue($serverdata);
    $info['bots'] = getnextbytevalue($serverdata);
    
    return array($info['currentplayers'], $info['maxplayers'], $info);
 
}

kann mir da vielleicht jemand weiterhelfen?
Ich würde damit halt gerne einen Gameserver Status abbilden.

Danke im Voraus
 

basti1012

Senior HTML'ler
26 November 2017
1.475
157
63
39
Minden
sebastian1012.bplaced.net
Ich bin neu hier und habe gleich ein Anliegen. Ich habe dieses PHP Code im Internet gefunden und würde ihn gerne in eine einfache html Seite einbinden.
Wie meinst du das genau?
Deinen Php Code kann ich nicht testen, weil ich von den Socket Kram kein Plan habe.
Dann denke ich mal das da noch einiges an Code fehlt kann das sein?
Mindestens ein Funktion Aufruf oder so
Code:
$ruf=getPlayersServer(127.0.0.0, 4455)
oder sowas in der art.
Dann solltest du mit
{CODE] var_dump($ruf);[/CODE]
das angezeigt bekommen, was das Script macht.
Da du aber ein Array bekommst musst du damit weiter arbeiten, nur wie ???
Da denke ich mal das da irgendwo noch was fehlt.
Willst du den Array mit PHP auswerten oder geht es da weiter mit Javascript?
Lauft der PHP Code den bei dir, bekommst du da irgendwelche Ausgaben?
Oder hast du den Code im Netzt gefunden und weist jetzt nicht weiter?
 
Zuletzt bearbeitet:

BlackPanda

Neues Mitglied
1 September 2020
4
0
1
32
Hi,

ich habe den Code bzw. die Seite wo der Code steht von diesem Clan bekommen.
c2play .de

Auf deren Seite kann man sehen wie es aussieht wenn der HTML Code mit eingebunden ist oder was ich gerne hätte.
Da ich nicht weiß wie das funktioniert, hatte ich gehofft, dass jemand aus dem Forum vielleicht weiß wie das geht oder ob es eine Alternative gibt den Status eines Gameservers darzustellen.

Gruß
BlackPanda
 

basti1012

Senior HTML'ler
26 November 2017
1.475
157
63
39
Minden
sebastian1012.bplaced.net
Auf deren Seite kann man sehen wie es aussieht wenn der HTML Code mit eingebunden ist oder was ich gerne hätte.
Meinst du das so
oder gibt es da noch was ?
Ich muss mich dann auch erstmal in socket einlesen bevor ich da genauer helfen kann.
Im code steht ja das
Code:
  if (!$cssocket=fsockopen("udp://".$serveraddress,$portnumber,$errnr))
hast du den serveradresse ?
Ist das der Komplette Code ?
 

BlackPanda

Neues Mitglied
1 September 2020
4
0
1
32
Hi,
ja genauso wie es unter dem Link den du gepostest hast aussieht.
Mit dieser Adresse kann man es testen. Mein Server ist noch nicht Online.
185.236.8.2:27015
Der Code stammt von hier und sollte komplett sein:

Danke für deine Mühen.

Gruß
BlackPanda
 

jens42

Neues Mitglied
6 Oktober 2020
3
0
1
42
Hi,
Also in eine einfache html Seite einbinden geht garnicht die datei muss erstmal eine php datei sein und da kannst du html und php sachen einfügen.
mfg jens