我正在为老虎机赛道创建一个lapcounter 每当汽车通过传感器时,它会通过微控制器将一些数据发送到计算机,然后将数据写入文件。现在我想检测该文件何时发生变化,这意味着汽车已通过传感器,并将该数据存储到数据库(mysql)中,然后实时显示在屏幕上。文件检查必须连续完成,并尽快完成..
同样是一个计数在数百秒内的计时器会很好呈现..但这是另一回事,与这个问题无关......
可能有更好的方法可以做到这一点,但我很确定在本地服务器上直接连接到微控制器的某些ajax,php和mysql是可能的。
如果我错了,请纠正我,但Facebook,Stackoverflow和即时消息/聊天使用了一些类似的未来我会假设..
答案 0 :(得分:1)
文件更改的逻辑可以在php结束'check_the_file_change.php'
以下是smaple JS代码,它会每1秒向php文件发送一次请求
'check_the_file_change.php'
$(document).ready(function(){
function checkFileChange(){
setTimeout(function () {
$.ajax({
url :'check_the_file_change.php',
type : 'POST',
data :{
user_secret : 'XXXX'
},
success : function(respsone){
if(response == "true"){
//file changed
}else{
//file not chnaged
}
},
complete : function(){
checkFileChange(); //net file check after 1 sec from the completion of the previous request
}
});
},1000);
}
}
});
在PHP结束
header("Access-Control-Allow-Origin: *"); // use this in case the ajax call is coming from other domain
$filename = 'somefile.txt';
if (file_exists($filename)) {
if( time() - filemtime($filename) > 60){
echo "false";
}else{ //file is modified 1 minute ago
echo "true";
}
}