begin process at 2010 02 10 03:05:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

vérifier si un lien est mort


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vérifier si un lien est mort

samedi 22 novembre 2008 à 18:26:05 | vérifier si un lien est mort

zut69

Bonsoir,

Sur mon site, j'ai une page avec pleins de liens externes vers mes partenaires. Le souci, c'est qu'il peut arriver qu'un des liens soit mort alors j'aimerai pouvoir vérifier si la cible existe.
J'ai écrit une fonction, mais elle semble ne fonctionner qu'avec des fichiers de code (html, php, asp, ...), alors que mes liens pointent principalement sur des pdfs.

function lien_mort($lien) // retourne false si lien mort
{
    $file = @fopen($lien, 'r');
    if ($file) return false;
    else return true;
}

Est-ce que quelqu'un saurait comment vérifier si un pdf existe? J'ai pensé peut-être au file_exists() ou encore en récupérant les headers du fichier, mais je ne sais pas quelle méthode serait la plus pertinente et laquelle fonctionnerait...
dimanche 23 novembre 2008 à 00:26:23 | Re : vérifier si un lien est mort

gibozsec

Bonjour,

la méthode que tu utilise fonctionne, je l'ai testée. Il doit y avaoir un problème à un autre endroit.

Peux tu donner plus de précisions ?

Grrrrrrrrrrr
dimanche 23 novembre 2008 à 01:45:49 | Re : vérifier si un lien est mort

zut69

Merci pour ta réponse et en effet après plusieurs tests, j'ai remarqué que ce n'était pas les pdf qui posaient problème, mais simplement le fait que je soumette des urls de fichiers distants à ma fonction et c'est ça qu'il aime pas !
Alors comment faire pour que par exemple: lien_mort("http://www.google.fr") me retourne false?

voici les résultats de mes tests:

lien_mort("index.php") -> false
lien_mort("test.pdf") -> false
lien_mort("http://www.monsite.com/test.pdf") -> true
lien_mort("http://www.autre-site.com/test.pdf") -> true
lien_mort("http://www.google.fr") -> true

lien_mort("http://ce-site.n-existe-pas.com/prout/zut.tjz") -> true

Voilà, le résumé de mes tests. En résumé, ce qui est en rouge et ce qui ne retourne pas ce que je voudrais...
Merci de ton aide,

FF

PS: je vois que j'avais fait une erreur dans le commentaire de la fonction que j'ai posté:
function lien_mort($lien) // retourne true si lien mort
Je le signale pour éviter toute confusion...
dimanche 23 novembre 2008 à 10:52:47 | Re : vérifier si un lien est mort

coucou747

salut

tu peux utiliser curl pour tester si t'as une erreur 404 ou autre chose.
dimanche 23 novembre 2008 à 13:23:32 | Re : vérifier si un lien est mort

gibozsec

Réponse acceptée !
Dans le php.ini tu trouveras allow_url_fopen. C'est un paramètre qui défini si tu peux utiliser les fonctions de manipulation de fichier sur des url.

Visiblement il est désactivé sur ton serveur, il suffit de l'activer pour que ta fonction marche correctement.

Grrrrrrrrrrr
dimanche 23 novembre 2008 à 14:52:24 | Re : vérifier si un lien est mort

zut69

Salut, ok merci beaucoup tout marche, tout est ok :-)


Cette discussion est classée dans : file, liens, lien, vérifier, mort


Répondre à ce message

Sujets en rapport avec ce message

Comment vérifier un lien ? [ par MaTHieU ] Salut, Je voudrais savoir comment vérifier un lien... Par exemple : http://www.monsite.fr/fichier.zip Si le fichier est présent ça marque "OK" Si le l [PHP] Manipulation de chaines de caractères (les liens...) [ par Alcmeon ] Bonjour Tlm,je suis devant un problème et je ne comprend vraiment pas :J'ai des articles stocké dans une base de données, il peut y avoir desliens dan tester un lien mort [ par guiguimac ] rebonjour,voici ma question reformulée :j'ai une base de donnée de liens et j'aimerai pouvoir lancer un script php qui détecterai si une URL est un li un vrerificateur de liens [ par vovinamfire ] salutqql' un pourrait m'aider pour ce scipt de verfication de lien, qui ce trouve sur un autre serveur que mon site ?$yes = "http://perso.wanadoo.fr/* Question sur les liens [ par jejeduweb ] Bonjour, je débute en php et la question que je vai vous poser vous semblera probablement stupide.J'aimerai savaoir qu'elle est l'utilité des liens qu liens caché..... [ par engelho ] Bon, je vais avoir l'air un peu idiot, mais là, j'ai un problème...J'utilise une structure conditionnelle (si alors sinon.) qui, selon le résultat me Desactiver des liens hypertexte en cliquant sur un lien [ par merlin_88 ] bonjour, je suis absolument debutant et je decouvre la realisation de pages (je n'ai jamais cree de site mais peut etre un jour...)j'aimerai savoir s' Proteger ses liens ? [ par lavren ] Je vais exposer le projet parfait que je cherche à faire :Je souhaiterai proposer en téléchargement des fichiers mais que mes visiteurs ne sachent pas liens... [ par l0sth34d ] je voudrais ne laisser aucune trace des liens qui on été clické sur mon site... je veut dire... lorsque je navigue.. supposon que je vais surhttp://12 Liens en php [ par scarium ] Bonjour à tous,Débutant en php, je develloppe un site uniquement pour apprendre ce langage, je suis confronté à un problème d'entrée de jeu:-créer un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales