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

NBO -  
 Formateurinternet -
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
 
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   Statut Modérateur Dernière intervention   934
 
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