2012-01-08 2 views
0

어떤 날짜인지에 따라 다른 스크립트를 실행하려고합니다.하지만 그것에 대해 100 % 확신하지는 않습니다. 기본적으로 내가하려고하는 것은 다음과 같습니다. cron 스크립트 매일 실행하고 나는 같은 둘 필요가 PHP 파일에서 서버의 PHP 파일을 호출날짜에 따라 다른 스크립트 호출하기

실행

실행 everymonday.php 매주 월요일

실행 firstmondayofthemonth everyday.php 매일. 매월 첫 번째 월요일 PHP는

그래서 날짜가 각각 3과 같은지 확인하고 그 스크립트를 실행해야하지만, PHP에서 어떤 명령이 가장 적합한 지 모르겠습니다.

답변

1

글쎄, 당신은 PHP로 할 경우 다음이 당신에게 아이디어를 줄 수도 (대안은 불과 3 cronjobs을 만들고 크론를 구성하는 것) :

$weekday = date('D'); 
$dayOfMonth = date('d'); 
run everyday.php; 
if ($weekday == 'Mon') 
{ 
    run everymonday.php 
    if ($dayOfMonth <=7) 
    run firstmondayofthemonth.php; 
} 

물론 코드를 변경해야합니다. 예를 들어, 실행 환경을 사용자 환경에 맞는 것으로 바꿔야합니다. 포함, 실행 또는 http 요청을 포함 할 수 있습니다 ...

+0

매주 월요일마다 실행되는 다른 스크립트를 어떻게 호출합니까? 스크립트의 URL/이름을 반향합니까? –

+0

스크립트의 내용을 알고 있습니까? (또는 최소한 가정을 할 수 있습니까?) 로컬 서버의 대상 스크립트이며 환경에 따라 파일에 직접 액세스 할 수있는 권한이 있습니까 (예 : exec()를 호출 할 수 있습니까? 아니면 안전 모드로 실행합니까 ...). 이 질문을 별개의 질문으로 삼는 것이 좋습니다. – yankee

+0

@IainSimpson : dayOfMonth <= 6에서 dayOfMonth <= 7로 변경되었음을 유의하십시오. 잠시 그것에 대해 생각한 후에 저에게 일어났습니다. – yankee

0

특정 스크립트가 실행되는 요일을 지정할 수 있기 때문에이 태그를 cron에 넣는 것이 좋겠지 만 PHP에서 실행하고 싶다면 date function을 'D'옵션과 함께 사용하여 요일을 확인하십시오 그것은 스위치 케이스 진술서를 가지고있다. 예를 들어

:

0 0 * * 1 php runatmidnightonmonday.php 
0 0 * * 6 php runatmidnightonsaturday.php 
0 0 * * 0 php runatmidnightonsunday.php 
+0

다른 사람들은 서로 다른 시간에 가격을 받기를 원하므로 각 PHP 파일은 자신의 프로필에 옵션이 표시되어있는 클라이언트 만 실행하므로 그 일을하는 이유입니다. cron 대신 php로. –

관련 문제