php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.08.2010, 14:05  
Erfahrener Benutzer
 
Registriert seit: 04.08.2009
Beiträge: 158
PHP-Kenntnisse:
Anfänger
puwu ist zur Zeit noch ein unbeschriebenes Blatt
Standard Crontab Datum testen

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 ??

PHP-Code:
/*
Beispiele fuer $timestring: * oder */
3 oder 10-14 oder 12,14,17
$timedata ist zu ueberpruefende Datumsangabe
Wenn z.die Minute getestet werden solldann 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); 

Geändert von puwu (27.08.2010 um 14:51 Uhr).
puwu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.08.2010, 14:19  
Erfahrener Benutzer
 
Registriert seit: 23.08.2010
Beiträge: 492
PHP-Kenntnisse:
Fortgeschritten
mimomamu sorgt für eine eindrucksvolle Atmosphäremimomamu sorgt für eine eindrucksvolle Atmosphäre
Standard

Dokumentation hast du vergessen, ungefähr so:

PHP-Code:
/**
 * Hier steht normalerweise ein kurzer Satz der die Funktion erläutert.
 *
 * Hier steht normalerweise eine detailiertere Beschreibung der Funktion.
 * Insbesondere wird darauf eingegangen, welche Vorbedinungen erfüllt sein
 * müssen damit die Funktion aufgerufen werden darf und welche
 * Nachbedingungen die Funktion garantiert.
 *
 * @param string $timestring Hier steht, was der erste Parameter bewirkt
 * @param int $timedata Hier steht, was der zweite Parameter bewirkt
 * @return bool Hier steht, was der Rückgabewert bedeutet
 */
function check_crontab_date($timestring,$timedata) {
  
// ...

Wenn du auf Dokumentation verzichtest, dann ist die Funktion per Definition fehlerfrei. Ein Fehler ist immer ein Unterschied zwischen einem erwarteten und einem tatsächlichen Egebnis. Wenn nicht dokumentiert ist, was erwartet wird, dann gibt es nnichts zu unterscheiden.
__________________
Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

Geändert von mimomamu (27.08.2010 um 14:24 Uhr).
mimomamu ist offline   Mit Zitat antworten
Alt 27.08.2010, 14:48  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Schreib doch mal ein paar Unittests.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 27.08.2010, 15:33  
Erfahrener Benutzer
 
Registriert seit: 04.08.2009
Beiträge: 158
PHP-Kenntnisse:
Anfänger
puwu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Meinst du etwa so ?

PHP-Code:
$crons = array(
         array(
"*/1 * * * *""http://www./test.de/test.php"),
         array(
"*/1 10-14 * * *""http://www./test.de/test.php"),
         array(
"0 17,22 * * *""http://www./test.de/test.php"),
         array(
"30 */3 * * *""http://www./test.de/test.php")
);

for (
$var=0$var<count($crons); $var++) {
         
$split explode(" "$crons[$var][0]);

         echo 
$crons[$var][0]." - ";

         if(
check_crontab_date($split[0],date("i"))==&& check_crontab_date($split[1],date("H"))==&& check_crontab_date($split[2],date("d"))==&& check_crontab_date($split[3],date("n"))==&& check_crontab_date($split[4],date("w"))==1) {
                 echo 
$crons[$var][1];
         }
         echo 
"<br>";

puwu ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datum in PHP profimong PHP Tipps 2010 6 13.08.2010 23:12
Datum prüfen bierfest PHP Tipps 2010 10 30.07.2010 16:41
InputFeld initialisiert mit MySQL Datum format padre PHP Tipps 2010 6 06.06.2010 17:23
Heutiges DAtum mit Datum in Datenbank mittels if vergleichen mattla93 PHP Tipps 2009 11 25.03.2010 13:48
Anfänger - Datum umkonvertieren MrGain Trash 1 08.02.2010 18:11
mysqli_multi_query lässt Eintrag aus... Samhayne Datenbanken 8 07.02.2010 19:02
Bei Abfrage nur neuestes Datum auswählen alexh PHP Tipps 2008 16 22.09.2008 17:43
[Erledigt] Datensätze nach Datum sortieren und nächstes Datum ausgeben kinerdar Datenbanken 2 12.09.2008 12:00
Jahrestag ermitteln cyberholic PHP Tipps 2006 4 17.12.2006 12:50
näherstes datum zum aktuellen datum herausfinden flflfl Datenbanken 7 01.05.2006 16:57
[Erledigt] Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
Crontab über Console ohne Editor freq.9 Server, Hosting und Workstations 6 05.05.2005 13:38
datum auslesen eintragen PHP Tipps 2005 23 13.04.2005 20:39
CronJob testen / mehrere Cronjobs anlegen..?! Server, Hosting und Workstations 1 22.10.2004 08:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
crontab testen, crontab datum, crontab datum prüfen, crontab ausprobieren, wie in crontab datum eingeben, prüfen fcrontab, crontab date, crontab und das datumsformat, cron funktion test, crontab datumseingabe, test php erstellen crontab, date function cronjob, crontab datum format, cronjob auf ein datum, cronjob prüfen, crontab datum auslesen, crontab datumsangabe, date in crontab

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum