是否可以在连续的ajax请求中为php变量分配一次值?

Well I have some simple text file, I am trying to read that file contents using php and update it to the user.I was setting up the ajax request for every 2 seconds but the problem is the file wont be updated for every 2 seconds may be 15 or 30 or 1 minute long.So i thought of doing this

check the last modified time of file and if it is different then only update it to the user but here where I am stucked at.

 Javascript functions

 function read()
 {
    read_text();
    t=setTimeout("read()",200);
 }

 function read_text()
 {
     var xmlhttp;
     if (window.XMLHttpRequest)
     {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
     }
     else
    {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
       {
          document.getElementById('read').innerHTML = xmlhttp.responseText;
       } 
    }
    xmlhttp.open("GET","demo.php",true);
    xmlhttp.send();
 }

My php file

<?php 
    $a = fileattime("filenam");
    $b = fileattime("filenam");
    if($b > $a )
    {
     echo "update contents";
     $a = $ b;
    }

?>

I thought to store the last modified time of file in $a variable and compare the value with $b variable but here $a will be overwritten with the new value for every ajax request. I want $a to be assigned a value only once, I mean for the first ajax request then later on compare it with $b value and if $b is greater than $a then update the contents to user then fill up $a with $b

but this is where i stucked at. Any help is greatly appreciated.Thanks

Try creating a session, and storing the information in a session variable.

http://us3.php.net/manual/en/reserved.variables.session.php

If you do that, you'll have a persistent value that you can use to test against to see the last modified / updated value.

Be sure to do session_start() at the beginning of the script.

You can have it look something like this.. JS:

// standard Ajax stuff
xmlhttp.open("GET", "demo.php?request=1", true);
xmlhttp.send();

PHP:

<?php
    session_start();
    if($_GET['request'] == 1) $_SESSION['modified_since'] = fileattime('filename');
    $a = $_SESSION['modified_since'];
    $b = fileattime("filename");
    if($b > $a) {
        echo "Update Contents";
        $_SESSION['modified_since'] = $b;
    }
?>

For every user should be assigned unique ID and the last time should be stored for example in database. Unique ID may be but in cookie after first request and then be used to find information in database.