php读取文件每2秒无法正常工作

时间:2013-02-06 23:43:35

标签: php jquery ajax

我有一个文件会每2秒更新一次,我想读取日志文件并将其发布到php文件中,但它只是读取文件内容一次而不是每2秒更新一次。 在这种情况下,not_insync_text值每2秒更新一次。 这是我的代码

<script>
    //var insync_text = <?php echo $_SESSION['IN_SYNC_COUNT'];?>;
   var not_insync_text = ["10", "11", "12", "13"];
     var question_text = ["20", "21", "22", "23"];
     var counter = 0;
     var insync = document.getElementById("insync");
     var not_insync = document.getElementById("not_insync");
     var question = document.getElementById("question");


function change() {
    <?php $output="";$output=exec('cat hello1.txt');?>
    <?php $insync_output="";$insync_output=exec('cat $INSYNC_METRICS_LOG_FILE');?>
    insync.innerHTML = "<?php echo $insync_output; ?>";
    not_insync.innerHTML = "<font color=red>" +not_insync_text[counter]+ "</font>";
    question.innerHTML = "<?php echo $output; ?>";
    counter++;
    if (counter >= not_insync_text.length) counter = 0;
}

change();
setInterval(function() {
    change()
}, 4000);

这里hello1.txt和$ INSYNC_METRICS_LOG_FILE将使用增量数字(1,2,3)更新,我面临与$ _SESSION ['INSYNC_METRICS_VALUE']相同的问题,除非我刷新页面,否则它只会打印一次,但我不想刷新所以我从setInterval调用它。

1 个答案:

答案 0 :(得分:0)

PHP在服务器上运行,这意味着当页面加载时,所有PHP代码都会执行一次。函数change()中的所有PHP都会一次性吐出值,而不是每次调用函数时都会吐出值。

如果您想在不刷新页面的情况下进行更新,则需要使用AJAX。