кроссбраузерный xhr уже вшит в jQuery
$(document).ready(function(){
function checkchanges(){
$.ajax({
url: 'test.php',
data: {file: 'file.txt'},
complete: function(response) {
alert(response);
setTimeout(checkchanges, 5000);
}
});
}
setTimeout(checkchanges, 5000);
});
<?php
$file = (string) $_REQUEST['file'];
Где хранить время последнего изменения... Ну либо в БД, либо в файлике (правда тут наверно возникнет проблема при одновременной записи из нескольких экземпляров скрипта), либо может в сессию. Либо при генерации страницы опеределять время последнего изменения файла, и отмечать ввиде javascript-переменной.
var lastModified = <?=filemtime($file)?>;
...
$.ajax({
url: 'test.php',
data: {file: 'file.txt', since: lastModified},