2017-08-13 50 views
-2

我想在每个页面上显示ip的服务器状态,但要检查状态,我需要一个php脚本。这个剧本是我在互联网所有的文件应该有php扩展名还是让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文件,你会推荐或有不同的方式来处理这个?

+0

我个人有充分的文件是一个PHP文件。在我的服务器上,每个文件都是一个PHP文件,因为它不会造成伤害。 –

回答

2

您可以使用jQuery AJAX将PHP数据发送到您的HTML页面。您可以将该数据作为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> 
+0

这仍然是我可以尝试的东西,不知道是否更容易使用它或制作每个文件.php – xX4m4zingXx

+0

@ xX4m4zingXx这是一个非常简单和有用的Web开发工具。 – MinistryofChaps

+0

我会看看我是否可以学习ajax。我很感兴趣看到它可以做些什么。 – xX4m4zingXx

0

在HTML文件中实现PHP是不可能的。 在.php文件中创建HTML是解决此问题的最佳解决方案。

您可以在PHP文件中使用HTML,如果您将其命名为PHP文件,则不必在文件中使用PHP。

+0

我想我只是在做这个 – xX4m4zingXx

2

在我的服务器上,所有的文件都是PHP,因为我需要包含诸如echo用户名之类的PHP函数,并且我相信它不会将.Html转换为.php。另一件事是,下面的页面提供了关于使用CSS设计PHP回声的信息。

How to style a PHP echo text?

我认为这将是最好有所有PHP文件。

+0

为每个php单独设计样式将花费更多的时间,而不仅仅是改变扩展名,所以我正在做这件事。 – xX4m4zingXx

相关问题