Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Funzione PHP a tempo

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    173

    Funzione PHP a tempo

    Salve,
    Vorrei creare uno script che ci mette (ad ex.) 2 minuti prima di essere eseguito! Tipo che quando schiaccio un bottone di un form fa scattare il conto alla rovescia e dopo 2 minuti viene eseguito lo script!
    Codice PHP:
    set_time_limit(0); 

    $secondi 120
    sleep($secondi);

    //esegui la funzione dopo i 120 secondi 
    Il problema però è che se aggiorno la pagina o faccio il Logout dalla piattaforma che sto creando, la funzione si resetta e una volta che ri-accedo alla pagina riparte da 120 secondi! Stessa cosa succede se aggiorno! Vorrei (se fosse possibile) che ciò non accadesse ma che il "timer" andasse per conto proprio anche se aggiorno la pagina o effettuo il logout!

    Come posso fare?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Stai realizzando un qualche gioco online e il ritardo è il tempo di costruzione di qualcosa o roba simile?
    Comunque così non lo puoi fare, ti serve crontab, all'invio del form fai impostare un nuovo job allo script che riceve i dati del form.
    Crontab si gestisce con un semplice file di testo strutturato così, il problema è che se il sito si trova su un server condiviso è abbastanza probabile che non sia disponibile, ma questo devi chiederlo a chi ti offre il servizio hosting.
    Se vuoi che lasciando la pagina e poi tornandoci il countdown sia coerente devi anche salvare in un DB i dati necessari a sapere ogni operazione quando sarà eseguita.

    Chiaramente non so che stai facendo né come lo stai facendo, ma per darti un'idea salvi l'id dell'operazione e il timestamp di quando dovrà essere eseguita, così quando vai sulla pagina puoi sapere quanto manca all'esecuzione (timestamp nel db - timestamp attuale).
    Adegua l'idea a ciò che effettivamente hai.

    Per ulteriori informazioni sull'uso di Crontab, chiedi nella sezione Server Apache, dal punto di vista di PHP devi solo saper scrivere su un file.

    P.S. se il sito gira su un server Windows invece di Crontab ti serve "Operazioni pianificate".
    Ultima modifica di Alhazred; 25-01-2016 a 00:23

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.