Domanda

Quindi sono davvero sconcertato perché ho idee di base ma sto cercando alcune delle tue competenze.

Quello che sto cercando di fare: voglio praticamente scrivere un'app usando Twilio che non devi davvero sapere perché è un altro problema. Quello che l'app fa è chiamare un file PHP nel mio host web e "innesca il codice PHP"

Ciò di cui ho bisogno di aiuto qui è come posso tenere un registro in PHP del calendario della settimana per il mio computer. Quello che intendo per questo è se qualcuno come un amministratore ha un codice specifico che ho scritto per loro e che il codice funziona automaticamente per tutta la settimana, ma una settimana specifica che non vogliono che quel codice sia eseguito, invece vogliono eseguire un codice diverso quella settimana. Come posso usare PHP per trovare quando una settimana è terminata o tenere traccia della settimana usando quel calendario in basso a destra dello schermo del tuo computer in modo che il mio programma lo sappia dopo che un amministratore desidera un codice diverso dal solito codice che la settimana è Non è necessario eseguire quel codice irregolare di amministrazione torna al solito codice di esecuzione automatizzato.

Se ancora non sai di cosa sto parlando. Cercherò di spiegare di più. Pensa a 2 codici separati. Un'usanza e l'altra automatizzata. Il funzionamento automatizzato è sempre automaticamente. Ma un giorno l'amministratore sceglie per quella settimana non vuole seguire il normale shcedule di eseguire il codice automatizzato come al solito, invece per quella settimana vorrebbe eseguire il codice personalizzato e dopo la settimana è finita di tornare a eseguire il codice automatizzato come di solito.

Spero che questo lo renderà più chiaro. So che in PHP dà la data. Ma ho davvero bisogno di opinioni di esperti su come farlo.

È stato utile?

Soluzione

Generalmente per qualcosa del genere, genererei un "nextrun_datetime" per ogni combinazione di script/utente. Per impostazione predefinita avrebbe un intervallo di ripetizione, nel tuo caso, 7 giorni.

Se un utente non vuole eseguirlo questa settimana, può "spingerlo" e giorni e l'intervallo di aggiornamento normale si applicherebbe in seguito. Per ottenere il tiro una tantum, consentirei a un intervallo di aggiornamento di 0 o -1 di indicarlo.

Con questo genere di cose, ogni volta che uno script viene aggiornato (o salvato, eseguito, riprogrammato), è possibile calcolare la data successiva se ce n'è uno. Da lì, è un lavoro cron relativamente semplice che dovrebbe controllare gli ultimi n minuti per eseguire qualsiasi script.

Altri suggerimenti

A meno che le macchine client non siano in esecuzione su un calendario completamente diverso rispetto al server, perché preoccuparsi di chiedersi quale sia la data del cliente? A meno che il client e il server non si trovino in diversi fusi orari, la data del client sarà la stessa della data del server, ad eccezione di alcune ore verso la mezzanotte.

Inoltre, perché dipendere dal client per attivare il codice lato server? Se questa è una cosa che si verifica regolarmente, usa Cron o qualunque cosa sia disponibile sul server per eseguire automaticamente il codice. Se un amministratore desidera sovrascrivere quale codice viene eseguito, è possibile fornire un'interfaccia per modificare ciò che viene eseguito. Fare clic su un pulsante su un sito e un flag è impostato da qualche parte che dice al lavoro a tempo di eseguire lo script B invece dello script A.

Ho fatto qualcosa di simile. Sulla base del giorno (ad esempio lunedì, domenica) farei qualcosa di diverso in PHP.

Ecco come l'ho fatto:

$today = date('w');
if ($today== 0){
    //its sunday
    exec('rmdir C:\myApp\oldLogs');
}
else{
    echo '1 -> monday, 2-> tuesday etc...'
}

Puoi anche prendere una data da una stringa, ad esempio

$date = strtotime("8 days ago 14:00");
/*
  or "Monday next week", "+1 week 2 days 4 hours 2 seconds","yesterday noon","10 September 2000" etc...
*/      
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top