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

Php Script in HTML einbinden

BlackPanda

Neues Mitglied
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
 
Werbung:
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:
Werbung:
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
 
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 ?
 
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
 
Werbung:
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
 
Zurück
Oben