2012-01-05 46 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); 
    } 
} 

回答

相關問題