dtecter si une url n'existe pas ou est 404

Eléphanteau du PHP | 23 Messages

18 oct. 2010, 16:21

bijour,
$adresse="adresse à tester";
function url_exists($adresse)
{
    $F=@fopen($adresse,"r");

    return ($F)? 1 : 0;

}
if (url_exists($adresse) == 1){

echo 'ok';
}
else
{echo 'pas ok';
}
J'utilise ce p'ti bout de code glané sur le web pour tester la validité d'une url. IL fonctionne seulement les page d'erreur 404 passe évidemment pour des url valide.
Y'a t-il un moyen de tester si une url non seulement est valide mais n'est pas non plus une age d'erreur 404 ?
Merci de me mettre sur la piste : j'ai lu dans un forum qq'1 qui disait qu'il fallait tester la chaine 404 mais comment ??

ViPHP
ViPHP | 5462 Messages

18 oct. 2010, 16:22


Eléphanteau du PHP | 23 Messages

18 oct. 2010, 17:41

alors là c'est vraiment q'une piste ;-)
merci quand même stealth35.
Je vois l'idée je crois mais pour coder tout ça...
Je pense qu'il faut aller chercher dans le header si la chaine [404] est présente dans le title (je suppose).
Je galère grave avec les expression régulière alors un p'ti coup de main :priere:

ViPHP
ViPHP | 5462 Messages

18 oct. 2010, 17:47

y'a un du forum qu'a fait ca (aosix je crois) faudrait retourvé

ViPHP
AB
ViPHP | 5818 Messages

18 oct. 2010, 17:53

http://www.php.net/manual/fr/function.g ... .php#97684
<?php
function get_http_response_code($theURL) {
    $headers = get_headers($theURL);
    return substr($headers[0], 9, 3);
}
?>
perso je mettrais un @ devant le get_headers...