Toon posts:

[PHP] Url check

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil checken of een url echt bestaat. Hiervoor had ik het onderstaande super simpele scriptje bedacht, alleen het blijkt niet in alle gevallen te werken :(
Als ik bijvoorbeeld [url="http://www.clanbase.com/"]http://www.clanbase.com/[/url] invul returned hij false :(
Dit komt denk ik omdat ze daar in hun index.php alleen maar zoiets als header("Location: news.php"); hebben staan.

Is er een andere manier om dit te checken? of een manier om fopen anders te laten reageren op redirects ofzo ?
PHP:
1
<?function isValidUrl($url){        if(@fopen($url,"r") == false)                return false;        return true;}?>

  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
laat er anders eens een ping op los.... :)

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • Feyd-Rautha
  • Registratie: November 2001
  • Laatst online: 02-08-2025
moet je die
code:
1
return true

niet in de ELSE-clausule van je IF-statement zetten
code:
1
2
3
4
5
if(@open($url, "r") == false)
    return false
else
    return true
end if

I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. Where the fear has gone there will be nothing. Only I will remain.


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Je kan natuurlijk proberen om er een ping op los te laten, maar dan weet je nog niet zeker of er een website draait op die URL.
Ik neem aan dat je echt wilt bekijken of er daadwerkelijk een website draait bij die URL

It’s nice to be important but it’s more important to be nice


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op zondag 21 juli 2002 11:18 schreef -Avalanche- het volgende:
moet je die
code:
1
return true

niet in de ELSE-clausule van je IF-statement zetten
code:
1
2
3
4
5
if(@open($url, "r") == false)
    return false
else
    return true
end if
Dat is misschien duidelijker maar niet het probleem. Bij een return wordt namelijk al direct uit de functie gesprongen en die regel daarna niet meer uitgevoerd.

It’s nice to be important but it’s more important to be nice


  • Tain
  • Registratie: Januari 2002
  • Laatst online: 20-07 20:32
Je kan ook kijken of poort 80 openstaat in je scriptje, meeste webservers draaien op die poort dus :)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

gebruik fsockopen.
en stuur een head naar de server toe.

Programmer - an organism that turns coffee into software.


Verwijderd

en fopen dan?
PHP:
1
<?$fd = fopen ("$url", "r");if (!$fd) { echo "Url bestaat niet!"; }fclose ($fd);?>

werkt dat niet?

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Wanneer een redirect wordt gebruikt blijkbaar niet.

Verwijderd

Op zondag 21 juli 2002 17:45 schreef cREATiVe8500 het volgende:
Wanneer een redirect wordt gebruikt blijkbaar niet.
oeps, overheen gelezen :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 21 juli 2002 13:05 schreef LuCarD het volgende:
gebruik fsockopen.
en stuur een head naar de server toe.
Dit is imho sowieso de beste oplossing :)
Dan kan je netjes de resulting header parsen ook op 404/403/302/etc codes :)
Pagina: 1