2012-01-09 39 views
0

こんにちは私は月の最初の月曜日ではないにもかかわらず、毎月の関数が呼び出されているという問題があります。何が起きるのは、毎日毎日、毎週月曜日に毎週月曜日に実行され、毎月毎月実行されます。PHPで呼び出されないときの関数実行

ところで、これらの日付のcronでこれらのスクリプトを呼び出したのは、サーバーの所有者に、年を取るにつれて後部の大きな痛みである毎回cronジョブを設定するように依頼する必要があるためですそれは簡単に毎日スクリプトを打つcronを持っていると私はPHPで残りの部分を制御します。

// SETS THE TIMEZONE TO UK TIME 
date_default_timezone_set('Europe/London'); 

// DEFINES WEEKDAY AND DAY OF THE MONTH 
$weekday = date('D'); 
$dayOfMonth = date('d'); 

// RUNS THE EVERY DAY FUNCTIONS TO MAIL USERS IN THAT GROUP EVERY DAY 
gasoildailyemailer(); 
dervdailyemailer(); 
kerodailyemailer(); 
if ($weekday == 'Mon') 
{ 

// RUNS THE WEEKLY FUNCTIONS TO MAIL USERS IN THAT GROUP EVERY WEEK 
gasoilweeklyemailer(); 
dervweeklyemailer(); 
keroweeklyemailer(); 
if ($dayOfMonth <=6) 

// RUNS THE MONTHLY FUNCTIONS TO MAIL USERS IN THAT GROUP EVERY MONTH 
gasoilmonthlyemailer(); 
dervmonthlyemailer(); 
keromonthlyemailer(); 
} 

?> 

<?php 

function gasoildailyemailer() { 
echo 'GAS OIL DAILY'; 
}; 
function dervdailyemailer() { 
echo 'DERV DAILY'; 
}; 
function kerodailyemailer() { 
echo 'KERO DAILY'; 
}; 

?> 

<?php 

function gasoilweeklyemailer() { 
echo 'GAS OIL WEEKLY'; 
}; 
function dervweeklyemailer() { 
echo 'DERV WEEKLY'; 
}; 
function keroweeklyemailer() { 
echo 'KERO WEEKLY'; 
}; 

?> 

<?php 

function gasoilmonthlyemailer() { 
echo 'GAS OIL MONTHLY'; 
}; 
function dervmonthlyemailer() { 
echo 'DERV MONTHLY'; 
}; 
function keromonthlyemailer() { 
echo 'KERO MONTHLY'; 
}; 

?> 

答えて

1

これは、あなたが常に括弧を使用していないために得るものです:ここでの可能な宗教的な引数;これはちょうど私自身です:あなたは常には(警告を行うshoudとして

if ($dayOfMonth <=6) 
    gasoilmonthlyemailer(); // THIS IS INSIDE THE IF 
    dervmonthlyemailer(); // BUT THIS IS OUTSIDE! 
    keromonthlyemailer(); // THIS ONE TOO! 

は、中括弧を追加することによって、それを修正ビュー):余談として

if ($dayOfMonth <=6) { 
    gasoilmonthlyemailer(); 
    dervmonthlyemailer(); 
    keromonthlyemailer(); 
} 

:あなたは2つだけ3の機能が誤って呼ばれていたことを知っているであろう。他の誰もがその知識から恩恵を受けるように、明示的に明記してみませんか?

+0

ありがとうございました!thats now :-) –

1

if ($dayOfMonth <=6)の後に角括弧がありません。

+0

ありがとう、thats got it –

関連する問題