2013-08-27 1 views
0

위대한 작품 인 브라우저에서 GeoLocation으로 작업 할 때마다 10 분마다 브라우저의 위치를 ​​업데이트하는 방법을 찾고 있습니다. 나는 Cron Job을 사용할 수 없다. 사용자가 브라우저를 열고있는 동안 매 10 분마다 PHP에서 while 루프를 지정할 수있는 방법이 있는가?PHP while (1) time based

+1

어쩌면 html5 소켓을 살펴보십시오.) –

+0

웹 소켓이나 폴링이 최선의 방법입니다. – MLeFevre

+0

브라우저가 열려있는 동안 PHP가 전혀 실행되지 않습니다. 당신은 자바 스크립트를 사용해야합니다. – SLaks

답변

0

PHP로만 가능하다면 PHP로 이것을하고 싶지 않습니다.

무한 루프를 사용할 수 있으며 10 분간 수면을 취할 수는 있지만 다시는 그렇지 않습니다. 이것은 php가 만들어진 서버가 아닙니다. 그리고 그 외에 PHP는 이전에 정보를 보낼 수 없습니다. 모든 종류의 문제가 발생할 것입니다. 스크립트를 업데이트하면 어떻게 될까요? 서버의 메모리에 버전이로드되어 있기 때문에 모든 현재 사용자는 새 페이지를 보지 못합니다. 그리고 최대 실행 시간보다 ...


당신은 10 분과 자바 스크립트 시간 초과와 함께 AJAX 솔루션을 찾고 있습니다. 자바 스크립트가 thje 서버에게 쉽게 그 충당 클라이언트 측이기 때문에 테이블을,


좀 더 글로벌 솔루션을 찾고 있다면, 당신은 당신의 데이터베이스에 선을 만들 수있는 '좋아, 이제 새로운 정보를 준비 메신저' 3 열 id, time2execute, script2call의 예를 들어 'timed_scripts'라고합니다. 그런 다음 사용자가 모든 time2execute 값을 검사하여 현재 시간보다 작은 지 확인하는 함수를 실행하게하십시오. 스크립트를 콜백하고 시간을 시간() + 10 분으로 업데이트하십시오.

0

내 머리는 자바 스크립트 또는 HTML5 콜백을 검사하여 PHP 스크립트를 호출하는 PHP 스크립트를 작성하는 것입니다. 업데이트가 필요하다면 브라우저를 다시로드해야합니다.

0

지리적 위치 코드가 JS에 있고 seTtimeout() 인 경우 로직이 PHP에 있으면 SetTimeout을 사용하여 매 10 분마다 논리 페이지에 아약스 요청을 보냅니다.