PHP: Comment vérifier qu'une url est valide ?

Fermé
NBO - 28 févr. 2003 à 09:22
 Formateurinternet - 8 févr. 2010 à 00:55
Salut les p'tits loups,
Est ce que quelqun aurait une fonction en php pour vérifier qu'une url est valide. Attention, "valide" dans le send "l'adresse pointe quelque part" (pour éviter les liens morts).
Merci à tous et A+
NBO
A voir également:

2 réponses

Formateurinternet
8 févr. 2010 à 00:55
Salut, utilise ce petit bout de code trouvé sur http://www.capitools.up1.fr

<?php
if (!isset($url)) $url = "www.capitools.up1.fr";
$fp = fsockopen($url, 80, &$errno, &$errstr, 30);
if (!$fp) {
echo "Erreur: <B>$errstr</B> ($errno)<BR>"; }
else { fputs($fp,"GET / HTTP/1.0nn");
$reponse = fgets($fp, 128);
echo "Réponse OK: $url existe bien<BR>";
fclose($fp); }
?>

@+
7
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
28 févr. 2003 à 10:04
Bonjour,
tu peux peut-re t'inspirer de qqch du genre
<?php
$liens = array("http://www.imtel.com", "http://www.wanadoo.be",
"http://wwwn.nimportequoi.com");

foreach($liens as $link)
{
$conn = @fopen($link, "r");
if(! $conn )
{
print("Could not open " .$link . "<br />\n");
}
else
{
print_r($conn);
if( ! feof($conn))
{
$firstline = fgets($conn,2048);
print("$firstline <br />\n");
}
fclose($conn);
}
}
?>

A améliorer...(il faudrait définir des timeout pour les connections)
ou encore regarde sur
http://php.easynet.be/manual/en/function.stream-set-timeout.php
(PHP 4 >= 4.3.0)

Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
0