Ciao a tutti,
ho l'esigenza di controllare se un file esterno è stato modificato e, se è avvenuto, fare il refresh di una pagina. Per farlo ho pensato (richiamando la pagina con ajax ogni secondo) di confrontare l'ora attuale con l'ora del file e poi stampare il valore 1 se modificato, oppure 0.
Teoricamente funziona ma nella pratica qualcosa va storto.
Ogni volta che modifico il file esterno gli viene attribuito (giustamente) il valore 1 ma anziché passare immediatamente dopo al valore 0, rimane ad 1 per alcuni secondi causando il refresh continuo della pagina.
Cosa sbaglio? Oppure, vista la mia ignoranza, cosa non so?
Codice PHP:
$esito = '0'; $time=date("H:i:s" ); $adesso=strtotime("$time");
$filename = 'c:\test.txt';
if (file_exists($filename)) { $lastmodifica = date ("H:i:s", filemtime($filename)); $lastmod=strtotime("$lastmodifica"); }
if ($adesso-1<$lastmod){ $esito = '1'; // 1 refresh necessario }else{ $esito = '0';
// 0 refresh non necessario}
echo $esito;
Grazie per l'eventuale aiuto o anche solo per averlo letto