Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中生成循环_Php_Fsockopen_Json Api - Fatal编程技术网

在php中生成循环

在php中生成循环,php,fsockopen,json-api,Php,Fsockopen,Json Api,我实际上是在做一个脚本来检查游戏服务器是在线还是离线 到目前为止,我所做的脚本不会每20分钟检查一次服务器。 我想让脚本检查服务器是在线还是离线,并输出信息 我现在的代码是: /* Server Information –––––––––––––––––––––––––––––––––––––––––––––––––– */ $server_Debug = "9332"; $server_Port = "9339"; $server_key = "UCSGL"; /* Get's IP –

我实际上是在做一个脚本来检查游戏服务器是在线还是离线

到目前为止,我所做的脚本不会每20分钟检查一次服务器。 我想让脚本检查服务器是在线还是离线,并输出信息

我现在的代码是:

/* Server Information
–––––––––––––––––––––––––––––––––––––––––––––––––– */

$server_Debug = "9332";
$server_Port = "9339";
$server_key = "UCSGL"; 

/* Get's IP
–––––––––––––––––––––––––––––––––––––––––––––––––– */

$server_Ip = file_get_contents('http://bot.whatismyipaddress.com/');

/* API installation
–––––––––––––––––––––––––––––––––––––––––––––––––– */

 if ($isOnline = @fsockopen($server_Ip,$server_Port,$errno,$errstr)) {
  fclose($isOnline);  //Establish connection to api if server online

    $serverStatus = '<div class="callout callout-success"><h4>Server Online!</h4><p>Server is online, you can start playing with us!</div>';
    $memClans = file_get_contents("http://$server_Ip:$server_Debug/$server_key/inmemclans");
    $onPlayers = file_get_contents("http://$server_Ip:$server_Debug/$server_key/onlineplayers");
    $players = file_get_contents("http://$server_Ip:$server_Debug/$server_key/totalclients");
    $usedram = file_get_contents("http://$server_Ip:$server_Debug/$server_key/ram");
    $info = '<i class="fa fa-circle text-success"></i> Online';


} else {  //Else display N/A instead if throwing 404 and reuining the page!

    $serverStatus = '<div class="callout callout-danger"><h4>Server Offline!</h4><p>Server is Offline, we are working on to fix it! Will start to work soon.</p></div>';
    $memClans = "N/A";
    $onPlayers = "N/A";
    $players = "N/A";
    $usedram = "N/A";
    $info = '<i class="fa fa-circle text-danger"></i> Offline';

}
/*服务器信息
–––––––––––––––––––––––––––––––––––––––––––––––––– */
$server_Debug=“9332”;
$server_Port=“9339”;
$server\u key=“UCSGL”;
/*获取用户IP
–––––––––––––––––––––––––––––––––––––––––––––––––– */
$server\u Ip=file\u get\u contents('http://bot.whatismyipaddress.com/');
/*API安装
–––––––––––––––––––––––––––––––––––––––––––––––––– */
if($isOnline=@fsockopen($server\u Ip、$server\u Port、$errno、$errstr)){
fclose($isOnline);//如果服务器联机,则建立到api的连接
$serverStatus='服务器在线!服务器在线,您可以开始与我们一起玩了!';
$memClans=file\u get\u contents(“http://$server\u Ip:$server\u Debug/$server\u key/inmemclans”);
$onPlayers=file\u get\u contents(“http://$server\u Ip:$server\u Debug/$server\u key/onlineplayers”);
$players=file_get_contents(“http://$server_Ip:$server_Debug/$server_key/totalclients”);
$usedram=file\u get\u contents(“http://$server\u Ip:$server\u Debug/$server\u key/ram”);
$info=‘在线’;
}else{//else如果抛出404并重新合并页面,则显示N/A!
$serverStatus='服务器脱机!服务器脱机,我们正在修复它!将很快开始工作。

'; $memClans=“不适用”; $onPlayers=“不适用”; $players=“不适用”; $usedram=“不适用”; $info=‘离线’; }
您能告诉我如何每20分钟执行一次相同的脚本并输出信息吗


提前感谢

我想,您需要一个cron作业来完成此任务


Cron实际上在服务器上以给定的间隔执行指定的文件。

您只想刷新浏览器吗?不,我不想刷新浏览器。我希望脚本每20分钟执行一次并输出结果@Quasimodo'sclone您想在哪里输出结果?在网页上?或者在文件中。cron作业不允许您在网页中查看输出。但是您可以在设置cronjob时将输出写入文件。@RossiMilanBob米兰Bob好的,请查看此网站。我希望脚本每20分钟检查一次服务器状态。你能告诉我如何使用cron作业吗?我和cPanel在一起,我没有权限。不管怎样,要用php实现它?CPanel中提供了Cron作业(高级>Cron作业)。有关语法的更多信息,请参见此答案:也检查此cpanel UI。。非常感谢@Sid我找到路了!