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

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


anguenot.com
WRInaute passionné
WRInaute passionné
 
Messages: 909
Inscription: Mer Mai 14, 2003 21:35

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

Message le Dim Nov 30, 2003 21:22

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 :?:


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Dim Nov 30, 2003 21:48

L'annuaire de Netref vérifie les liens... tu peux le telecharger pour voir comment est fait le script :wink:


anguenot.com
WRInaute passionné
WRInaute passionné
 
Messages: 909
Inscription: Mer Mai 14, 2003 21:35

Message le Dim Nov 30, 2003 23:06

C'est de l'humour :?:


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15905
Inscription: Ven Avr 19, 2002 19:51

Message le Dim Nov 30, 2003 23:20

as-tu testé un bête fopen ?
sinon regarde sur http://fr2.php.net/manual/fr/ref.filesystem.php


anguenot.com
WRInaute passionné
WRInaute passionné
 
Messages: 909
Inscription: Mer Mai 14, 2003 21:35

Message le Dim Nov 30, 2003 23:50

Mais oui, évidemment, fopen:
Code: Tout sélectionner
<?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:


Americas
WRInaute accro
WRInaute accro
 
Messages: 3380
Inscription: Mer Sep 24, 2003 11:49

Message le Dim Nov 30, 2003 23:52

anguenot.com a écrit:C'est de l'humour :?:


pourquoi ? :roll:


Kmacleod
WRInaute accro
WRInaute accro
 
Messages: 3418
Inscription: Jeu Nov 28, 2002 15:47

Message le Lun Déc 01, 2003 0:07

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:


anguenot.com
WRInaute passionné
WRInaute passionné
 
Messages: 909
Inscription: Mer Mai 14, 2003 21:35

Message le Lun Déc 01, 2003 0:09

et à une certaine fréquence (de visite, de temps)


Qu'entends-tu par là?


Kmacleod
WRInaute accro
WRInaute accro
 
Messages: 3418
Inscription: Jeu Nov 28, 2002 15:47

Message le Lun Déc 01, 2003 0:22

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.


anguenot.com
WRInaute passionné
WRInaute passionné
 
Messages: 909
Inscription: Mer Mai 14, 2003 21:35

Message le Lun Déc 01, 2003 0:30

Capito! l'idée est bonne en effet :idea:

iconso
WRInaute impliqué
WRInaute impliqué
 
Messages: 446
Inscription: Mar Avr 08, 2003 16:17

Message le Mar Déc 02, 2003 3:40

Si tu ne veux pas écrire le code toi meme, tu trouveras peut etre ton bonheur sur http://www.hotscripts.com/PHP/Scripts_a ... index.html

Edit : Et si tu veux développer le code toi meme tu trouveras de toute facon les bonnes fonctions dans leurs scripts j'imagine. Certains sont freeware.

Fred

pinoc
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 105
Inscription: Jeu Avr 10, 2003 12:48

Message le Jeu Oct 07, 2004 14:27

anguenot.com a écrit:Mais oui, évidemment, fopen:
Code: Tout sélectionner
<?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...

fredsoft
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 242
Inscription: Dim Jan 26, 2003 22:39

Message le Jeu Oct 07, 2004 14:40

il faut tou simplement faire du socket en php et chercher la chaine 404 dans le code renvoyé par apache...


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités