5 시간의 시험 후 나는 당신에게 간다.파일의 텍스트가있는 라이브 업데이트 페이지
파일을 변경하면 자동으로 자신을 업데이트하고 파일 내용을 표시하는 페이지를 만들어야합니다. foo.txt가 있다고 가정 해 봅시다. 계속 업데이트 중입니다. 페이지가 n 초마다 다시로드되는 것을 원하지 않습니다. 또한이 파일의 마지막 30 줄만 표시하면됩니다. 나는 이걸 생각해 냈다 :
<?php //live.php
$handle = popen("tail -30l foo.txt 2>&1", 'r');
while(!feof($handle)) {
$buffer = fgets($handle);
echo "$buffer<br/>\n";
ob_flush();
flush();
}
pclose($handle);
?>
무엇이 마지막 30 줄의 파일을 성공적으로 표시하지만 업데이트하지 않는가? - 내가 붙어있어 어디 그건 내가 작업 이하로 달성하는 방법을 모른다 : 파일 업데이트
- 확인,
- 디스플레이 live.php 파일 변경.
Ajax 업데이트 기능을 함께 사용할 수 있습니까?
,?. 즉시 또는 일정 기간 후에? – squiroid
최대한 빨리. – Bielecki
이제 아약스 호출을 통해 서버에서 변경 사항을 확인하는 경우에만이 작업을 수행 할 수 있습니다. 변경 사항이있는 경우에만 페이지를 업로드하십시오. 그래서 한 가지 할 것이 현재 30 라인의 해시를 생성하고 서버로 보내고 서버 측의 현재 30 라인과 그 해시를 비교할 것을 제안합니다. 변경이 있으면 새로운 30 줄을 보내고 그렇지 않으면 false 값을 가진 플래그를 보냅니다. 그리고 다른 방법을 원할 경우 서버에서 프론트 엔드로 소켓 연결을 만들어야합니다. 파일에 변경 사항 (CRON 작업 사용)이 있으면 소켓을 통해 프론트 엔드와 디스플레이로 보내십시오. – squiroid