我想在每个页面上显示ip的服务器状态,但要检查状态我需要一个php脚本。这个脚本是我在互联网上找到的
<?php
$server='google.be:80';
$split=explode(':',$server);
$ip=$split[0];
$port=(empty($split[1]))?'80':$split[1];
$server=$ip.':'.$port;
$fp = @fsockopen($ip, $port, $errno, $errstr, 1);
if($fp){
echo $server.' is online';
fclose($fp);
}
else{
echo $server.' is offline';
}
?>
我想要将回声格式化为我的css格式化,所以我可以用
替换回声?>
<p>Server is offline<p>
<?php
和
?>
<p>Server is online<p>
<?php
但是我必须让每个html文件都成为一个php文件,你会推荐它还是有不同的方法来处理它?</ p>
答案 0 :(得分:2)
在我的服务器上,所有文件都是PHP,因为我需要包含PHP函数,例如echo用户名等,我相信将.html转换为.php并没有什么坏处。另一件事是,以下页面提供了有关使用CSS设置PHP回声样式的信息。
我认为拥有所有php文件会更好。
答案 1 :(得分:2)
您可以使用jQuery AJAX将PHP数据发送到HTML页面。您可以json_encode响应并将该数据作为JSON对象接收并从中获取数据。
编辑:在生产环境和效率方面,最好将HTML文件转换为PHP文件,这样做是值得的。然而,下面的这个小片段可以用于其他功能,如果修改或构建,所以这是一个学习经验,你可以看到基本的jQuery AJAX调用。
以下代码是调用PHP文件并获取结果的工作示例。查看使用jQuery和AJAX的基本示例将帮助您获得如何使用它的坚实基础。
<强> check_server.php 强>
<?php
$server='google.be:80';
$split=explode(':',$server);
$ip=$split[0];
$port=(empty($split[1]))?'80':$split[1];
$server=$ip.':'.$port;
$fp = fsockopen($ip, $port, $errno, $errstr, 1);
$result = new stdClass();
if($fp){
$result->result = 'success';
fclose($fp);
}
else{
$result->result = 'offline';
}
echo json_encode($result);
?>
<强>的index.html 强>
<html>
<head>
<title>Website</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$.ajax({
url : "check_server.php",
type : "POST",
dataType: "json",
success : function(results){
if (results.result === 'success')
{
$('#status').append('Server online.');
}
else
{
$('#status').append('Server offline.');
}
},
error : function()
{
$('#status').append('An error has occurred.');
}
});
</script>
</head>
<body>
<div id="status"></div>
</body>
</html>
答案 2 :(得分:0)
无法在HTML文件中实现PHP。 在.php文件中创建HTML是解决此问题的最佳解决方案。
您可以在PHP文件中使用HTML,如果您将其命名为PHP文件,则不必在文件中使用PHP。