[astuce] tester un lien, pour savoir s'il est mort

franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 - 27 oct. 2006 à 14:19
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 27 oct. 2006 à 22:36
salut

Voila, j'ai une petite fonction qui traine depuis qlq temps ds mes scripts.
Elle permet de tester tout simplement si un lien est mort ou non.
Mais vu qu'elle ne fait que 4 lignes, je me suis dit que ce n'était pas la peine d'en faire une source a part entiere

<?php

function test_lien($lien){
//verification de l'éxistance d'un protocole, sinon, utilisation de http:// par defaut$lien (substr($lien, 0, 7) "http://" or substr($lien, 0, 8) == "https://" or substr($lien, 0, 6) == "ftp://")?$lien:"http://".$lien;
//test du lien
$test = @fopen($lien, 'r');
//retour du resultat
return ($test)?'Lien valide !':'Lien mort !';
}

//exemple de lien a tester
echo test_lien('www.google.fr');

?>

en esperant que ça puisse servir

1 réponse

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
27 oct. 2006 à 22:36
En réalité, tu devrais plutot faire quelque chose comme ca :

function test($link) {
 // je passe la détection du lien, je suppose que :
 // $link = 'http://www.google.fr';
 $a = @fsockopen($link, 80, $errno, $errstr, 0.1);
 return ( false === $a ) ? FALSE : TRUE;
}

echo test('http://www.google.fr');
 // affiche : 'TRUE' si le site est joignable.
Rejoignez-nous