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

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


anguenot.com
WRInaute impliqué
WRInaute impliqué
 
Messages: 909
Inscription: 14 Mai 2003

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: 24 Sep 2003

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 impliqué
WRInaute impliqué
 
Messages: 909
Inscription: 14 Mai 2003

Message le Dim Nov 30, 2003 23:06

C'est de l'humour :?:


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19415
Inscription: 19 Avr 2002

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 impliqué
WRInaute impliqué
 
Messages: 909
Inscription: 14 Mai 2003

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: 24 Sep 2003

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: 28 Nov 2002

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 impliqué
WRInaute impliqué
 
Messages: 909
Inscription: 14 Mai 2003

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: 28 Nov 2002

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 impliqué
WRInaute impliqué
 
Messages: 909
Inscription: 14 Mai 2003

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

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

iconso
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 446
Inscription: 8 Avr 2003

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 discret
WRInaute discret
 
Messages: 105
Inscription: 10 Avr 2003

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 discret
WRInaute discret
 
Messages: 242
Inscription: 26 Jan 2003

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...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 les experts Google Analytics de Ranking Metrics.

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

Lectures recommandées sur ce thème :

  • Analyse de similarité textuelle
    Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.
  • Analyseur d'entête HTTP
    Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.


Qui est en ligne

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