이 if문 구절에 대해...

이 if문 구절에 대해...

QA

이 if문 구절에 대해...

답변 2

본문


    if($filetime && $filetime < (G5_SERVER_TIME - 86400 * $cache_time)) { //10분 (60초 *10)
                    @unlink($cache_file);
                    $cache_fwrite = true;
                }

 

위 코드는 extend에서 실행 됩니다.

 

상대적인 시간으로 하루를 기준으로 해두면 환경설정에서 세션/캐시 등 삭제하면

그 삭제한 시점으로 다시 돌아가버립니다..

 

매일 밤 24시 마다 위 코드가 실행되게 하고 싶은데

(G5_SERVER_TIME - 86400 * $cache_time)

이 구문을 어떻게 고쳐야 할까요?

 

$cache_time의 값은 1 입니다.

이 질문에 댓글 쓰기 :

답변 2

PHP는 Call에 의해서 실행되는 웹페이지 구동방식입니다.

 

따라서, 

띄워놓고 화면을 무한정 놔둔다면

 

JavaScript의 타이머를 이용해서

재호출 하면서 시간체크를 하거나

 

Linux/Unix 에서 제공하는 crantab 기능을 이용하라고 letsgolee님이 안내하신거구요

 

그누보드에서는

https://sir.kr/g5_plugin/3888

이런 형태로 강제 자동실행 모듈들을 이용하실수있습니다.

 

자세한 설명/문의는 해당 플러그인 제공자분께 문의하시면됩니다.

매일 밤마다 일정 시간에 실행되게 하려면 cron을 이용하는 방법을 해야 할 것 같네요. 행당 호스팅업체에서 cron을 지원해주는지 확인하셔야 할 듯요. php자체에서는 일정 시간에 서버에서 실행되지 않기 때문에 직접 그 시간에 접속을 하거나 혹은 브라우져를 계속 띄워놔서 자바스크립트를 통해 일정시간에 접속하게 만들어야 할 겁니다. 혹은 기준 시간이 넘어간 상태에서 서버에 누군가 최초 접속할 때 위의 코드가 실행되게 하는 방법도 있습니다. 그것은 세션을 이용하면 되는데 문제는 위의 코드가 캐쉬 파일 삭제와 관련되기 때문에 최초 접속자에게까지 영향을 미칠 가능성이 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 39
© SIRSOFT
현재 페이지 제일 처음으로