Validering af URL i PHP...
Hvordan validerer man at en URL er korrekt i PHP?
Der er mange måder at gøre det på.
Nedenstående er en simpel måde at validere en URL på i PHP - nemlig ved at tilgå den..
Metoden er som sådan ganske simpel - du sender en $url til funktionen, som så åbner URL med fopen - og giver denne en 200 HTTP code, så vil dette script returnere true - hvis ikke returnerer det false.
Så kan man let kalde den som sådan
<?php $url = "http://www.phptips.dk/"; if (validateURL2($url)) { echo "URL er valid"; } else { echo "URL virker ikke"; } ?>
I ovenstående tilfælde vil den returnere "URL er valid". Men kalder jeg den med en forkert URL - som eksempelvis:
<?php $url = "http://www.phptips.dk/det_er_en_ikke_eksisterende_side.php"; if (validateURL2($url)) { echo "URL er valid"; } else { echo "URL virker ikke"; } ?>
Vil den returnere "URL virker ikke".
Selve funktionen er her nedenfor
<?php function validateURL2($url) { if(strlen($url)) { $file = @fopen ($url, "r"); if ($file) { return true; } else return false; exit; } else return false; } ?>
De synes godt om dette · Tom Frank Christensen
Kommentarer:
Tom Frank Christensen
Et sted hvor denne kan bruges, er f.eks. hvis man bygger et script der skal checke ens linktrades.
Cirka 14 år siden (23/04/2011 14:17:39)
Mike Laumann Bellika
Ser rimlig godt ud, men er den helt sikker? Hvis en bruger fx skriver et link med ondsindet kode, vil det så kunne påvirke hjemmesiden?
Cirka 14 år siden (24/05/2011 17:58:11)
Casper Schneidereit
Hej Tom. Har du testet funktionen af med forskellige headere ?
Cirka 14 år siden (06/07/2011 12:27:07)
Tom Frank Christensen
Hej Casper - nej det har jeg ikke, men finder du nogle problemer vil jeg gerne vide det :)
Cirka 14 år siden (06/07/2011 13:36:04)
Tom Frank Christensen
Hej Mike - Nej den checker egentlig bare at URL eksisterer - at den ikke bliver omdirigeret eller er "Ikke fundet"
Cirka 14 år siden (06/07/2011 13:36:42)
Tom Frank Christensen
Spdfs
Cirka 13 år siden (22/12/2011 13:30:37)
