[guida]Creare Script php AUTOMATICO
PHP (acronimo ricorsivo di PHP Hypertext Preprocessor) è concepito per la realizzazione di pagine web dinamiche, e non statiche.
Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche per scrivere script a linea di comando o applicazioni standalone con interfaccia grafica(GTK-PHP).
Vediamo oggi come simulare l’opzione cron eseguibile da GNU/linux (soltanto avendo accesso al server come root) con php.
Questa funzione permette di effettuare operazioni php ad un determinato orario.
es. effettua un backup alle 5 tutti i giorni…
Questi script è utile per chi(come me) non ha i privilegi amministrativi sull’host dove hosta :P (per esempio se si ha un sito hostato da Altervista o da Netsons,e simili) .
Veniamo il primo codice:
< ?
ignore_user_abort(TRUE);
set_time_limit(0);
$interval=60*15;
do{
//CODICE DA ESEGUIRE
sleep($interval); // funzione per attendere 15 minuti dopo l'intervento
}while(true);
?>
Analizziamo il codice:
ignore_user_abort(TRUE):Questa funzione fa continuare l’esecuzione dello script anche dopo la chiusura della pagina.
set_time_limit(0):Questa variabile impedisce che lo script non giri all’infinito.
$interval=60*15:Questo è il tempo, 60 secondi per 15 volte = a 15 minuti
In questo codice però ce un’errore: OGNI VOLTA CHE VIENE RICARICATA LA PAGINA IL TIMER SI RIAVVIA
.
Vediamo come rimediare:
< ?
if ($_GET[action]=="avvia_timer"){
ignore_user_abort(); // funzione per far continuare l'esecuzione dello script anche dopo la chiusura della pagina
set_time_limit(0); // funzione per far continuare lo script all'infinito
$interval=60*15; // ogni 15 minuti...
do{
// funzioni da svolgere ogni 15 minuti
sleep($interval); // funzione per attendere 15 minuti dopo l'intervento
}while(true);
}
else{exit();}?>
Cosi il time si avvia solo se ce una richiesta GET avvia timer:
$_GET[action]==”avvia_timer”
Bene adesso vediamo come terminare questa operazione…
Modifichiamo la precedente pagina sostituendo la riga:
ignore_user_abort(TRUE);
con questa:
ignore_user_abort(FALSE);
ricarichiamo la pagina e adesso una volta chiusa la pagina lo script si fermerà !
Related posts:
This entry was posted on Saturday, June 27th, 2009 at 1:21 pm and is filed under Programming. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Tagged with: mysql • php







Pingback: ZicZac.it, clicca qui e vota questo articolo!
Pingback: Technotizie.it
Pingback: upnews.it
Pingback: diggita.it
Pingback: ClsHack [guida]Creare Script php AUTOMTICO