<?php set_time_limit( 0 ); ini_set('auto_detect_line_endings', 1); ini_set('mysql.connect_timeout','7200'); ini_set('max_execution_time', '0'); date_default_timezone_set( 'Europe/Oslo' ); ob_end_clean(); gc_enable(); header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Methods: GET'); header('Access-Control-Expose-Headers: X-Events'); include 'lastSavedChange.php'; $resultFile = "resultater/Resultater.xml"; //load variable from last check $lastChange = filemtime($resultFile); $time = date('r'); if ($lastSavedChange == NULL){ $lastSavedChange = $lastChange; } //check if file has been updated if ($lastSavedChange<$lastChange){ //update deteceted $ischanged = "yes :)"; $var_str = var_export($lastChange, true); $var = "<?php\n\n\$lastSavedChange = $var_str;\n\n?>"; file_put_contents('lastSavedChange.php', $var, LOCK_EX); $objXmlDocument = simplexml_load_file("resultater/Resultater.xml"); //xml to json if ($objXmlDocument === FALSE) { foreach(libxml_get_errors() as $error) { //error :( } exit; } $objJsonDocument = json_encode($objXmlDocument); $arrOutput = json_decode($objJsonDocument, TRUE); //csv format: change boolian , last time the xml was changed, current server time, json from xml $response = "1,". $lastChange. "," . time() . "," . $objJsonDocument; echo "data: $response\n\n"; } elseif ($lastSavedChange==NULL){ //file does not exist } else { //no update deteceted $response = "0,". $lastChange. "," . time() . "," ; echo "data: $response\n\n"; } flush(); ?>