2012-01-08 11 views
0

私は何日かに応じて別のスクリプトを実行しようとしていますが、100%はどうしたらいいか分からず、基本的に何をしようとしています: cronスクリプトeveryday.php毎日日付に応じて別のスクリプトを呼び出す

実行everymonday.php毎週月曜日

実行firstmondayofthemonth

実行:実行毎日、サーバー上のPHPファイルを呼び出すには、PHPファイルに私のような何かを配置する必要があります。毎月第1月曜日のPHPは

だから、日付がそれぞれ3と等しいかどうかをチェックしてそのスクリプトを実行する必要がありますが、PHPのどのコマンドがこれに最も適しているのかわかりません。

答えて

1

まあ、これはあなたのアイデアを与えるかもしれません:

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

もちろん、あなたの環境に適したものでランニングを置き換えるなど、コードを変更する必要があります。 ...

+0

毎週月曜日に実行する別のスクリプトをどのように呼び出すのですか?スクリプトのURL /名前をエコーし​​ますか? –

+0

それはあなたがスクリプトの内容を知っていますか(あるいは、少なくともいくつかの仮定をすることができますか?)、ローカルサーバ上のターゲットスクリプトであり、あなたの環境の限界に直接ファイルにアクセスする特権を持っていますか? exec()を呼び出すことができますか?セーフモードで実行しますか...)。私はこれを別個の質問にすることをお勧めします。 – yankee

+0

@IainSimpson:dayOfMonth <= 6をdayOfMonth <= 7に変更したことに注意してください。ちょっと考えてから、ちょうど私に起こった。 – yankee

0

特定のスクリプトを実行する曜日を指定できるので、これをcronに入れることをお勧めしますが、PHPで実行する場合は、date functionのオプション 'D'を使用して、スイッチケースのステートメントがあります。例えば

:あなたは(代替がちょうど3つのcronジョブを作成するとcronを設定することです)、PHPでそれを行う必要がある場合

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

別々の人が異なる時間に価格を受け取ることを望んでいるので、それぞれのPHPファイルは、自分のプロフィールにオプションが表示されているクライアントを実行するだけですcronの代わりにphpを使用します。 –

関連する問題