function getData($l_stations) { //structure $l_data = array(array(), array(), array(), array(), array(), array(), array(), array(), array(), array(), array()); $nb_res = 0; $nb_commit = 0; $td = array(); //prepare time for url call -2H actual time $localtime = date('H'); $stime = $localtime - 2; if ($stime == -1) { $stime = 23; } if ($stime == -2) { $stime = 22; } if ($stime < 10) { $stime = "0" . $stime . "10"; } else { $stime = $stime . "10"; } //prepare date for url call $sdate = date("Y/m/d"); if ($localtime == "00") { $parti = explode("/", $sdate); $sdate = giorno_prima($parti[2], $parti[1], $parti[0]); } $dbdate = date('Y-m-d'); //make the url call for datas for ($i = 0; $i < count($l_stations); $i++) { //set_time_limit (5); echo "{$i}/" . count($l_stations) . " - "; $data = openUrl($l_stations[$i], $sdate, $stime); //echo "getstazione:$stazione<br><br>"; if (strlen($data) > 100) { $data2 = search($data, "/thead", "<footer"); //isolate the block of info $stazione = getStation($data); //echo $data2; $data2 = str_replace('<tr class="wtt call_public">', "", $data2); $data2 = str_replace('<tr class="wtt nonpassenger pass">', "", $data2); //RINFORZARE IL PARSING QUALCHE NUOVA CLASS METTE IN CRISI $data2 = str_replace('<span>', "", $data2); $data2 = str_replace('</span>', "", $data2); $tr = explode("</tr>", $data2); $nb_res = count($tr) - 1; $nb_commit = $nb_commit + $nb_res; //count the sum of lines for all calls echo "NUMERO RIGHE =" . $nb_commit . "<br>"; for ($k = 0; $k < count($tr); $k++) { $td[$k] = explode("</td>", $tr[$k]); } for ($j = 0; $j < count($tr) - 1; $j++) { //array_pop($td[$j]); //for ($k = 0; $k < count($td[$j]); $k++) //produce rubbish at end for ($k = 1; $k < 10; $k++) { $val = strip_tags($td[$j][$k]); array_push($l_data[$k], $val); //echo $val."|"; } //echo "<br>"; array_push($l_data[10], $stazione); array_push($l_data[0], $dbdate); } echo "<br>"; } } no_none($l_data, $nb_commit); pdidb($l_data, $nb_commit, $stime); }
function getData($l_stations) { $l_data = array(array(), array(), array(), array()); $nb = 0; $localtime = date('H'); $stime = $localtime - 1; if ($stime == -1) { $stime = 23; } echo "stime = {$stime}<br>"; $stime = $stime . "00"; if (strlen($stime) == 3) { $stime = "0" . $stime; } $dbtime = $localtime . ":00"; $sdate1 = date("Y/m/d"); global $day; $day = date("w"); if ($localtime == "00") { $parti = explode("/", $sdate1); $sdate = giorno_prima($parti[2], $parti[1], $parti[0]); if ($day != 0) { $day--; } else { $day = 6; } } else { $sdate = date('mdy'); } for ($i = 0; $i < count($l_stations); $i++) { $data = openUrl($l_stations[$i], $sdate, $stime); $xml = simplexml_load_string($data); foreach ($xml->arrivals->arrival as $dep) { $dbdate = date("Y-m-d H:i:s", (int) $dep->time); $delay = $dep['delay']; $vehicle = str_replace("BE.NMBS.", "", $dep->vehicle); //if ((substr($dbdate,-8,2))== substr($stime,0,2)) $con =1; else $con =0; //echo substr($dbdate,-8,2)." - ".substr($stime,0,2)." $con <br>"; if (substr($dbdate, -8, 2) == substr($stime, 0, 2)) { $nb++; echo substr($dbdate, -8, 2) . "==" . substr($stime, 0, 2); array_push($l_data[0], $dbdate); array_push($l_data[1], $l_stations[$i]); array_push($l_data[2], $delay); array_push($l_data[3], $vehicle); echo "{$nb}-ARRIVAL" . $dbdate; echo " "; echo $l_stations[$i]; echo " "; echo $delay; echo " "; echo $vehicle; echo "<br>"; } } foreach ($xml->departures->departure as $dep) { $dbdate = date("Y-m-d H:i:s", (int) $dep->time); $delay = $dep['delay']; $vehicle = str_replace("BE.NMBS.", "", $dep->vehicle); if (substr($dbdate, -8, 2) == substr($stime, 0, 2)) { echo substr($dbdate, -8, 2) . "==" . substr($stime, 0, 2); $nb++; array_push($l_data[0], $dbdate); array_push($l_data[1], $l_stations[$i]); array_push($l_data[2], $delay); array_push($l_data[3], $vehicle); echo "{$nb}-DEPARTURE" . $dbdate; echo " "; echo $l_stations[$i]; echo " "; echo $delay; echo " "; echo $vehicle; echo "<br>"; } } } pdidb($l_data, $nb); }