试图在网站上创建中继指示器

时间:2015-03-19 19:38:40

标签: php html

我在网页上创建某种指标时遇到了麻烦。 这应该告诉我是否打开或关闭了某些东西。

我的项目涉及制造“自动”玻璃容器控制器,带有传感器,继电器和树莓。我能够在网站上显示传感器读数,每分钟更新一次(使用jQuery)。 在某些时候,一些继电器被激活(仍然必须完成,今天到达继电器)并且我想在现场看到继电器1是否被激活,并且在此变化时自动更新。激活某些继电器的程序是在python中,也会写一个txt文件,包含“0”或“1”(用于“关闭”和“打开”)。

然后,根据txt文件,使用例如应该显示中继状态的开关(例如switch)。 但是,我似乎没有让它发挥作用。 使用PHP If和Else语句,即使使用简单图像作为中继的“指示符”,也会显示两者。

<?php 
    $myfile = fopen("./statusUV.txt", "r") or die("Unable to open file!");
    $status= fread($myfile);        

    if ($status == 1){
           print ('<img src=./images/on.png />');
    }
    else{
           print ('<img src=./images/on.png />');
    }

但是,在这种转换的情况下,如何展示不同的div?

哦,我不得不说,我是PHP,HTML,Python,jQuery等的新手。

“按钮”不一定是可点击的,它只需要显示继电器的状态(或文件中的输出)。

如果需要更多信息,请告诉我们! 提前谢谢!

<!DOCTYPE HTML>
<html>
<head>

<title>UV</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta name="description" content="" />
  <meta name="keywords" content="" />
  <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700' rel='stylesheet' type='text/css'>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script src="js/skel.min.js"></script>
  <script src="js/skel-panels.min.js"></script>
  <script src="js/init.js"></script>

  <noscript>
    <link rel="stylesheet" href="css/skel-noscript.css" />
    <link rel="stylesheet" href="css/style.css" />
    <link rel="stylesheet" href="css/style-desktop.css" />
  </noscript>

  <?php 
    $myfile = fopen("./statusUV.txt", "r") or die("Unable to open file!");
    $status= fread($myfile);        
    fclose($myfile);
    switch(intval($status)){
      case 0 : $img = "<img src='./images/off.png' />"; break;
      default : $img = "<img src='./images/on.png' />";break;
    }                           
  ?>    
</head>

<body class="left-sidebar">
  <!-- Wrapper -->
  <div id="wrapper">
    <!-- Header -->
    <div id="header">
      <div class="container">
        <!-- Nav -->
        <nav id="nav">
        <ul>
          <li class="active"><a href="index.html">Data</a></li>
          <li><a href="UVtime.html">UV timer</a></li>
          <li><a href="heattime.html">Heat Timer</a></li>
          <li><a href="ledtime.html">Led Timer</a></li>
          <li><a href="sproeiertime.html">Sproeier Timer</a></li>
          <li><a href="index.html">Apparaten</a></li>
        </ul>
        </nav>
      </div>
    <div id="logo-wrapper">
      <div class="container"> 
        <!-- Logo -->
        <div id="logo">
          <h1><a href="#">Timer</a><span class="tagline"> voor Sproeier</span></h1>
        </div>
      </div>
    </div>
  </div>
  <!-- /Header -->

  <!-- Main -->
  <div id="main-wrapper">
    <div class="divider">&nbsp;</div>
    <div id="main">
      <div class="container">
        <div class="row">
          <div id="sidebar" class="4u"> 
            <?php
              if (isset($img)){
                echo $img;
                echo $status;
            }?>
          </div>                
        </div>
      </div>
    </div>
  </div>
</div>
<div class="divider">&nbsp;</div>

<!-- /Wrapper -->
<div id="copyright">
  <div class="container">
    <p style="font-size:11px">Design: <a href="http://templated.co">TEMPLATED</a> Images: <a href="http://unsplash.com">Unsplash</a> (<a href="http://unsplash.com/cc0">CC0</a>)</p>
  </div>
</div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

假设文本文件中的var $ status = 1或0。 你的代码必须是这样的:

<html>
<head>
<?php
    $myfile = fopen("./statusUV.txt", "r") or die("Unable to open file!");
    $status = fread($myfile);   
    fclose($myfile);    

    switch(intval($status)){
        case 1 : $img = "<img src='./images/on.png' />"; break;
        default : $img = "<img src='./images/off.png' />"; break;
    }

?>
</head>
<body>
<?php 
if (isset($img)){
    echo $img; 
}?>
</body>
</html>

答案 1 :(得分:0)

通过重置服务器解决了一些PHP问题。显然,这将修复网站上出现的奇怪代码。 现在,在测试了各种各样的东西之后,$ status仍然是空的。在尝试了各种技术之后,我发现fgets($ myfile)可以做到这一点,而不是fread($ myfile)!谢谢大家的帮助!