Posez votre question Signaler

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

NBO - Dernière réponse le 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
Lire la suite 

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

2 réponses
Réponse
+4
moins plus
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); }
?>

@+
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé « PHP: Comment vérifier qu'une url est valide ? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?