Ich habe eine kleine Funktion geschrieben mit der eine typische Datumsangabe von
Crontabs getestet werden soll. Könnte vielleicht jemand mal drüber schauen ob ich irgend
etwas vergessen und vollkommen blödsinnig gelöst habe ??
Crontabs getestet werden soll. Könnte vielleicht jemand mal drüber schauen ob ich irgend
etwas vergessen und vollkommen blödsinnig gelöst habe ??
PHP-Code:
/*
Beispiele fuer $timestring: * oder */3 oder 10-14 oder 12,14,17
$timedata ist zu ueberpruefende Datumsangabe. Wenn z.B die Minute getestet werden soll, dann muss ein Zahl zwischen 0 und 59 übergeben werden.
*/
function check_crontab_date($timestring,$timedata) {
if($timestring=="*") return true;
elseif(preg_match("/-/", $timestring)) {
$split = explode("-", $timestring);
if($timedata>=$split[0] && $timedata<=$split[1]) return true;
else return false;
// Suche nach einen Komma
} elseif(preg_match("/,/", $timestring)) {
$split = explode(",", $timestring);
for ($var=0; $var<count($split); $var++) {
if($split[$var]==$timedata) return true;
}
// Durchsuche den String nach */
} elseif(preg_match("/\*\//", $timestring)) {
$timestring = str_replace("*/","",$timestring);
if($timedata%$timestring==0) return true;
}
}
echo check_crontab_date("*/3",5);
Kommentar