Hjælp til at gøre script hurtigere.
Kan en af jer kloge hoveder hjælpe mig med at gøre dette script hurtigere? Har ikke testet slutningen endnu(med at putte i databasen), men hvor den skriver det ud som en tabel og det tog lang tid.Det er denne der tager tid(tror jeg):
$raw = file_get_contents($url);
Jeg ved man kan løse safe_mode problemet med "@set_time_limit(0);" men den tager stadig LANG tid.
<?php
//skab forbindelse til database
XXXXXXXXX
//Fastsætter et link til URL
$url = "http://www.bold.dk/statistik/kampe.php?package=2";
// Henter kildekoden fra URL og fastsætter kildekoden til RAW
$raw = file_get_contents($url);
//Fastsætter en ARRAY
$newlines = array("\t","\n","\r","\x20\x20","\0","\x0B");
//Fjerner alle linieskift
$content = str_replace($newlines, "", html_entity_decode($raw));
//Fastsætter startpunkt i kildekoden(CONTENT)
$start = strpos($content,'<table width="100%" border="0"');
//Fastsætter slutpunkt i kildekoden(CONTENT)
$end = strpos($content,'</table>',$start) + 8;
//Tager indholdet af kildekoden(CONTENT) imellem START og END
$table = substr($content,$start,$end-$start);
//Tager indholdet imellem <tr & <\tr> og gør dem til ARRAY(linie vis)
preg_match_all("|<tr(.*)</tr>|U",$table,$rows);
foreach ($rows[0] as $row){
if ((strpos($row,'<th')===false)){
$domain = strstr($row, 'gameid');
$rest = substr("$domain", 0, 13);
preg_match_all("|<TD(.*)</TD>|U",$row,$cells);
$dato = strip_tags($cells[0][0]);
$liga = strip_tags($cells[0][1]);
preg_match_all("|<td(.*)</TD>|U",$row,$cells);
$kamp = strip_tags($cells[0][0]);
$link = "http://www.bold.dk/statistik/headtohead.php?";
$url = $link . $rest;
if ($rest == "") {
// echo "REST:$rest<-";
}else{
$raw = file_get_contents($url);
$newlines = array("\t","\n","\r","\x20\x20","\0","\x0B");
$content = str_replace($newlines, "", html_entity_decode($raw));
$start = strpos($content,'Gennemsnit');
$end = strpos($content,'Sandsynlighed',$start) + 8;
$table = substr($content,$start,$end-$start);
preg_match_all("|<TR(.*)</TR>|U",$table,$rows);
foreach ($rows[0] as $row){
if ((strpos($row,'<th')===false)){
preg_match_all("|<td(.*)</TD>|U",$row,$cells);
$et = strip_tags($cells[0][1]);
$kryds = strip_tags($cells[0][2]);
$to = strip_tags($cells[0][3]);
preg_match_all("|<TD(.*)</TD>|U",$row,$cells);
$et1 = strip_tags($cells[0][1]);
$kryds1 = strip_tags($cells[0][2]);
$to1 = strip_tags($cells[0][3]);
//laver en forspørgsel i databasen
$svar = mysql_query("SELECT * FROM kampe WHERE kamp = \"$kamp\"");
while($test = mysql_fetch_array($svar))
{
if ($et == "")
{
echo "$kamp ikke gemt pga manglende odds <br>";
}else{
if ($kamp == $test[kamp])
{
//updatere databasen hvor kamp = kamp
mysql_query("UPDATE kampe SET 1='$et', kryds='$kryds', to='$to', dato='$dato', kamp='$kamp', liga='$liga', gameid='$gameid' WHERE kamp ='$kamp'") or die(mysql_error());
echo "Du har nu rettet kamp i din database.";
}else{
//Indsæt info i databasen
mysql_query("INSERT INTO kampe(1, x, 2, dato, kamp, liga, gameid)values('$et', '$kryds', '$to', '$dato', '$kamp', '$liga', '$gameid')");
echo "$kamp er nu tilføjet i databasen.";
}
}
}
}
}
}
}
}
?>