2012-01-05 49 views
0

我正在PHP中编写一个尾部函数,并使用jQuery来刷新日志中任何内容的div区域。我在PHP中使用一个会话来保存一个文件指针,所以当再次调用PHP中的函数时,它会从setInterval(jQuery)中知道它停留的位置,并在文件末尾打印新的东西。出于某种原因,自从我开始使用会话以来,我无法看到它流到浏览器,直到任务完成。请帮我解决一下这个。谢谢!我如何才能使用SESSIONS获得这个尾部函数?

这里是我的jQuery:

setInterval(function() { 
    $.get("ajax.php?function=tail", function(data) { 
     $("#tail").append(data); 
    }, 'html'); 
}, 2000); 

这是我的PHP:

function tail() { 
    $file = "/path/to/the/log/file.log"; 
    $handle = fopen($file, "r"); 

    if(isset($_SESSION['ftell'])) { 
     clearstatcache(); 
     fseek($handle, $_SESSION['ftell']); 

     while ($buffer = fgets($handle)) { 
      echo $buffer . "<br />"; 
     } 

     fclose($handle); 
     $_SESSION['ftell'] = ftell($handle);   
    } else { 
     fseek($handle, -1024, SEEK_END); 
     $_SESSION['ftell'] = ftell($handle); 
    } 
} 

回答

相关问题