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

ответ

Смежные вопросы