未在PHP中调用时正在运行的函数

未在PHP中调用时正在运行的函数,php,function,if-statement,Php,Function,If Statement,您好,我正在运行以下脚本,我遇到的问题是,即使不是每月的第一个星期一,也会调用每月函数?。应该发生的是每天,每天,每周一,每周一,每月,每月 顺便说一句,我没有在这些日期用cron调用这些脚本,因为每次我都要让服务器所有者设置cron作业,这是一个很大的麻烦,因为他需要花很长时间才能完成,所以让cron每天点击脚本,我就可以用php控制其余部分 // SETS THE TIMEZONE TO UK TIME date_default_timezone_set('Europe/London');

您好,我正在运行以下脚本,我遇到的问题是,即使不是每月的第一个星期一,也会调用每月函数?。应该发生的是每天,每天,每周一,每周一,每月,每月

顺便说一句,我没有在这些日期用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';
};

?>
//将时区设置为英国时间
日期默认时区设置(“欧洲/伦敦”);
//定义工作日和月份的哪一天
$weekday=日期('D');
$dayOfMonth=日期('d');
//每天对该组中的邮件用户运行“每天”功能
gasoildailyemailer();
dervdailyemailer();
kerodailyemailer();
如果($weekday=='Mon')
{
//每周向该组中的邮件用户运行每周功能
Gasoil Weekleyemailer();
dervweeklyemailer();
KeroweekleyEmailer();
如果($dayOfMonth)

这就是不总是使用大括号的原因:

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

if($dayOfMonth您缺少
if($dayOfMonth)后面的括号
if ($dayOfMonth <=6) {
    gasoilmonthlyemailer();
    dervmonthlyemailer();
    keromonthlyemailer();
}