PHP $ _GET帮助创建链接

时间:2015-11-25 12:15:57

标签: php

我尝试使用$ GET创建一个简单的页面来获取IP和端口

示例index.php?ip = 193.192.58.12& port = 27016

我的代码出现服务器错误

if (isset($_GET['ip']) && $_GET["port"]) {

$ip = $_GET["ip"];  
$queryport = $_GET["port"]; 


$ip = '';
$queryport = ;

$socket = @fsockopen("udp://".$ip, $queryport , $errno, $errstr, 1);

stream_set_timeout($socket, 1);
stream_set_blocking($socket, TRUE);
fwrite($socket, "\xFF\xFF\xFF\xFF\x54Source Engine Query\x00");
$response = fread($socket, 4096);
@fclose($socket);

$packet = explode("\x00", substr($response, 6), 5);
$server = array();

$server['name'] = $packet[0];
$inner = $packet[4];
$server['players'] = ord(substr($inner, 2, 1));
$server['playersmax'] = ord(substr($inner, 3, 1));

var_dump (json_encode( $server ));

    } else {

  echo "Serveri nuk ekziston";
}

2 个答案:

答案 0 :(得分:0)

以下代码通过覆盖/删除您从$_GET抓取的值导致问题:

$ip = $_GET["ip"];  
$queryport = $_GET["port"]; 

$ip = '';
$queryport = ;       //    <<-- syntax error

删除$ip = '';$queryport = ;并重新测试。

同时从@移除@fsockopen,以便您可以看到它何时中断。

答案 1 :(得分:0)

$data['status'] = 1;
// Explode extra flags from packet part //
$extras = explode("\x00", substr($packet[4], 25)); error?
$extras = explode(",", $extras[0]);//
$data['flags'] = "";
foreach($extras as $flag)