14. marts 2009 - 21:21
Der er
19 kommentarer og 1 løsning
Tjek aktivt link
Hej Eksperter, Er det muligt at lave et script som kan tjekke om en specifik url er oppe? Altså online. Jeg har nemlig brug for at kunne gå ind på én side, og så tjekker den om forskellige sider, som jeg har defineret, ikke er nede - og derefter udskrive resultatet. Venligst Morten
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
14. marts 2009 - 21:29
#2
Ok, smart. Og hvis den returnerer: [0] => HTTP/1.1 200 OK Så betyder det at siden er oppe?
14. marts 2009 - 21:33
#3
Det betyder siden er oppe ja. :o) og du bør så få 4XX eller 3XX ved fejl.
14. marts 2009 - 21:34
#4
Genialt. Tusind tak for hjælpen, og de hurtige svar Jakob. Skriv et svar, så får du dine point. Mvh Morten
14. marts 2009 - 21:36
#5
Lige et andet spørgsmål. Kan man skrive noget så den kun udskriver den første linje så? Dvs. [0] => HTTP/1.1 200 OK
14. marts 2009 - 21:41
#7
Svar!
14. marts 2009 - 21:42
#8
Perfekt.. Igen, tusind tak :o)
14. marts 2009 - 21:47
#9
Takker for point og selv tak.
14. marts 2009 - 23:03
#10
Hej igen jakob, Jeg har lige prøvet med nedenstående (din kode), men nu returnerer den alle som OFFLINE ?!? Any idea? function check_web($url, $status='200'){ $respons = get_headers($url); if($respons !== false){ if(strpos($respons[0],$status)){ return true; } } return false; } $qlist = mysql_query("SELECT * FROM tabel") or die(mysql_error()); while ($chk = mysql_fetch_array($qlist)) { if(check_web('$chk[link]')){ echo "$chk[link] - ONLINE<br />"; }else{ echo "$chk[link] - OFFLINE<br />"; } } Mvh Morten
15. marts 2009 - 08:16
#11
Sikker på dine links er korrekt ?
15. marts 2009 - 09:02
#13
I denne linje: if(check_web('$chk[link]')){ bør du rette til: if(check_web($chk['link'])){
15. marts 2009 - 09:07
#14
Ja, det hjalp tak :o)
Nu har jeg lige et andet spørgsmål.
Det ser ud som om, at hvis den url man efterspørger redirecter til en anden side, så kommer den til at stå som offline. Er det korrekt?
F.eks.
http://www.google.com
15. marts 2009 - 09:32
#15
True... Den redirecter dig nemlig til .dk. Så det skal der lige leges lidt med.
15. marts 2009 - 09:41
#16
Godt nok. Tak for hjælpen endnu engang!
15. marts 2009 - 09:49
#17
Jeg har forsøgt at rette lidt i scriptet. Måske det kan laves bedre... function check_web($url, $status='200'){ $respons = get_headers($url); if($respons !== false){ if(strpos($respons[0],$status)){ return true; }elseif(strpos($respons[0],' 30')){ for($i = 0; $i < count($respons); $i++){ if (preg_match('/Location: (.+)/i', $respons[$i],$match)){ return check_web($match[1],$status); } } } } return false; }
15. marts 2009 - 09:54
#18
Lækkert, så hvis indtastede url redirecter, så fanges den nye adresse og testes igen?
15. marts 2009 - 09:57
#19
Nemlig.
15. marts 2009 - 10:12
#20
Perfekt, så lærte jeg også det :o)
Vi tilbyder markedets bedste kurser inden for webudvikling