我需要对按钮进行实时循环"状态检查"。按钮"类"或"id"名称将根据它从txt文件获得的值进行更改。然后,将使用CSS处理此类/ID名称。此外,这个按钮类或 id 取决于名称应该触发/调用函数只是为了运行特定的 php 文件。
以前:我只使用PHP完成了它,但没有实时的"状态检查":<它看起来像这样:>
<?php
if(isset($_POST['run1']))
{exec('run1.bat');}?> // In this part it is waiting a button push with specific
<?php // class name and then runs some bat file which runs some
if(isset($_POST['run2'])) // command and writes output to R1.txt
{exec('run2.bat');}?>
<?php
$r1 = "R1.txt"; //This part reads txt file R1.txt ...
$fr1 = fopen($r1, "a+");
$sizer1 = filesize($r1);
$tr1 = fread($fr1, $sizer1);
sscanf($tr1, "SOMERANDOM TEXT(%d)", $nr1); // ...and gets value 1 or none
fclose($fr1);
?>
<form action="" method="post"> //This part is a form
<?php
if ($nr1=="1") //Here it check's value from txt and load specific
{ // type of button.
echo '<input type="submit" class="runing1" name="run1" value="">' . "n";
}
else
{
echo '<input type="submit" class="runing2" name="run2" value="">' . "n";
}
?>
现在我想出这样的结构:将会有检查.php类似的东西
<?php
$r1 = "R1.txt"; //This part reads txt file R1.txt ...
$fr1 = fopen($r1, "a+");
$sizer1 = filesize($r1);
$tr1 = fread($fr1, $sizer1);
sscanf($tr1, "SOMERANDOM TEXT(%d)", $nr1); // ...and gets value 1 or none
fclose($fr1);
?>
<?php
$r2 = "R2.txt"; //This part reads txt file R2.txt ...
$fr2 = fopen($r2, "a+");
$sizer2 = filesize($r2);
$tr2 = fread($fr2, $sizer2);
sscanf($tr2, "SOMERANDOM TEXT(%d)", $nr2); // ...and gets value 1 or none
fclose($fr2);
?>
这个PHP文件应该发布那些$nr 1和$nr 2值,一些外部为Ajax。然后会有索引.php/htm有几个按钮,通过检查运行某种循环.php并获取按钮的值并在按钮上应用指定的类或 id。如是/否或开/亮等。然后根据按钮状态类/id,它应该运行特定的功能。在"完美性"中,如果在 AJAX 的帮助下类或 id 可能是可变的,那就太好了,因为它可以被 POST 以使用类似代码的其他 run.php 文件......
<?php
if(isset($_POST['$class-name-from-button']))
{exec('($_POST['$class-name-from-button']).bat');}?>
<?php
我认为它可以节省大量"重复同一行代码"的空间。
$.post,$.get或更通用的$.ajax(在这里您可以手动指定数据是否应该以post或get格式发送)。
我将演示 $.post 格式。
var url = "yourserver.com/check.php";
var data = "checking=true";
$.post(url, data, function(result){
if(result == "1")
$("input").removeClass("runing2").addClass("runing1");
else
$("input").removeClass("runing3").addClass("runing2");
});
您的支票.php应包含以下代码:
<?php
if(isset($_POST["checking"])){
$r1 = "R1.txt"; //This part reads txt file R1.txt ...
$fr1 = fopen($r1, "a+");
$sizer1 = filesize($r1);
$tr1 = fread($fr1, $sizer1);
sscanf($tr1, "SOMERANDOM TEXT(%d)", $nr1); // ...and gets value 1 or none
fclose($fr1);
echo $nr1;
}
?>
以下是一些参考资料:
http://api.jquery.com/jquery.post/
http://api.jquery.com/jquery.get/
http://api.jquery.com/jquery.ajax/