Détection de site inexistant ou d'erreur 404 en PHP

WRInaute impliqué
Bonjour,
Pour la gestion d'un annuaire, je souhaite développer un script qui "scrute" les URLs présentes dans l'annuaire, et détecte les sites qui ont disparus.

Par quelle fonction ou variable PHP puis-je obtenir ce status :?:
 
WRInaute impliqué
Mais oui, évidemment, fopen:
Code:
<?php
if (@fclose(@fopen("http://www.le-site-a-tester.com/", "r"))) { 
     print("L'URL existe."); 
} else { 
     print("L'URL n'existe pas."); 
} 
?>

Je ne pensais pas que c'était en mesure de détecter une erreur 404. Vérification faite, ça marche.

Merci :idea:
 
WRInaute passionné
En complément :
plutôt que print("L'URL n'existe pas.");
faire un mail à soi même et mettre ce bout de code dans le lien cliqué par un internaute et à une certaine fréquence (de visite, de temps)
Si j'ai le temps ...je l'écris :wink:
 
WRInaute passionné
L'idée de faire verifier l'existance d'un site lorsque l'utilisateur clique sur le lien avec mail automatique si erreur 404 est louable.
Mais inutile de faire le test à chaque clic, il faudrait trouver une bonne frequence entre les sites peu visités ( genre 1 fois par trimestre) et ceux visités plusieurs fois par semaine.
Donc faire une vérification automatique tous les 50 clics ou tous les 3 mois.
 
WRInaute discret
anguenot.com a dit:
Mais oui, évidemment, fopen:
Code:
<?php
if (@fclose(@fopen("http://www.le-site-a-tester.com/", "r"))) { 
     print("L'URL existe."); 
} else { 
     print("L'URL n'existe pas."); 
} 
?>

Je ne pensais pas que c'était en mesure de détecter une erreur 404. Vérification faite, ça marche.

Merci :idea:

Ca ne marche pas s'il y a un errordocument dans le htaccess du site qui contient la 404 !

Exemple : http://www.yahoo.fr/fdsdfsdfsdfsdfsdf/dsffds.htm :-(
Ca renvoie que la page existe...
 
Discussions similaires
Haut