Script PHP da eseguire in determinati orari

C'è un modo semplice per fare in modo che uno script php esegua qualche html in determinate ore del giorno?

Ad esempio, ho nella mia home page un'intestazione e in certi momentjs voglio essere in grado di aggiungere qualcosa proprio sotto l'intestazione, in questo caso un iframe.

So che tutti hanno parlato di cron jobs, ma come functionrebbe? c'è anche un'alternativa? Non è disponibile su tutti gli hosting

L'idea di cron e lavori complicati sembra andare contro ciò che stai cercando di fare. Se vuoi che qualcosa venga visualizzato (un iframe in questo caso) solo durante determinati orari, puoi semplicemente controllare l'orario del server durante each richiesta e scegliere di visualizzarlo se ti trovi entro un determinato periodo di tempo.

Qualcosa di simile produrrà lo stesso effetto di un cron job, con più granularità, controllando l'ora nel momento esatto in cui viene effettuata la richiesta.

<!-- Your Header here --> <?php $hour = date('G'); // 0 .. 23 // Show our iframe between 9am and 5pm if ($hour >= 9 && $hour <= 17) { ?> <iframe .... ></iframe> <?php } ?> 

È ansible espandere l'istruzione condizionale per mostrare l'iframe più volte al giorno oppure fare in modo che lo script verifichi le condizioni esterne che si desidera utilizzare per governare la visualizzazione dell'iframe.

Aggiornamento: ulteriori tempi o tipi di confronto potrebbero essere specificati tramite qualcosa di simile

 <?php $hour = date('G'); $day = date('N'); // 1..7 for Monday to Sunday if (($hour >= 5 && $hour <= 7) // 5am - 7am || ($hour >= 10 && $hour <= 12) // 10am - 12 noon || ($hour >= 15 && $hour <= 19) // 3pm - 7pm || ($day == 5) // Friday ) { ?> <iframe...></iframe> <?php } ?> 

L'idea di aggiungere / rimuovere periodicamente l'iframe da sotto l'intestazione con un process cron / task del programmatore sul lato server è molto più complessa della semplice visualizzazione condizionale durante each richiesta.

Anche se si dispone di un'attività specifica da eseguire, ad esempio un report generato periodicamente, il lavoro effettivo di visualizzazione dei risultati solitamente non ricade sul task periodico. Lo script PHP responsabile per mostrare che iframe avrebbe ancora interrogato il database nel momento in cui viene fatta la richiesta per qualsiasi nuovo contenuto da mostrare, e lo visualizza se trovato, piuttosto che l'attività periodica in qualche modo modificando lo script per includere un iframe.

Se stai usando Linux, potresti avere un cron job.

Se sei su Windows, quindi utilizzare l'Utilità di pianificazione.

Se ci si trova in un ambiente ospitato, è necessario verificare se è consentito.

cron su UNIX, launchd su OS X e Task Scheduler su piattaforms Windows.

Quando non si ha accesso ai lavori cron o alle attività programmate sul proprio server, è ansible utilizzare servizi online come http://pingability.com/ per submit il proprio script a intervalli specificati. Non è perfetto, ma puoi creare una sorta di chiave segreta e codice che si assicura che lo script non venga eseguito più volte in un determinato periodo di tempo. Potrebbe sembrare un po 'hacky, ma l'ho usato su sisthemes live per submit e-mail quotidiane e funziona bene da oltre un anno.

Sui sisthemes Unix cron è la soluzione migliore.

Utilizzare un cron job o qualcosa di simile, vedere i lavori di fi cron o lo schedulatore PHP

puoi pianificare l'attività come un cron job.

È ansible aggiungere uno script PHP al crontab per eseguire automaticamente lo script a intervalli definiti. Dalla row di command, inserisci crontab -e per aggiungere la voce al tuo crontab.