Maison >développement back-end >tutoriel php >Méthode PHP pour détecter si une URL donnée est une page 404
Description de l'exigence :
Détecter si l'URL donnée est une page 404.
Méthode 1 :
Utilisez la fonction file_get_contents
pour lire des pages Web ou des fichiers sur le Web. Si une page 404 est rencontrée, false sera renvoyé, sinon le contenu de la page Web correspondante sera renvoyé.
Il y a deux points à noter lors de l'utilisation de cette fonction :
1 file_get_contents
Lors de la lecture d'une page qui n'existe pas, un avertissement sera signalé, donc. il est préférable de Les avertissements ici sont bloqués.
2. file_get_contents
Par défaut, tout le contenu de la page sera lu puis renvoyé. Afin d'améliorer la vitesse de lecture, nous pouvons limiter la lecture à seulement 10 octets avant de revenir.
<?php $res = @file_get_contents("http://www.baidu.com",null,null,0,10); if($res){ echo $res; }else{ echo "404"; }
Méthode 2 :
Nous devons déterminer si la page est une page 404. Cela peut être déterminé par le statut. code renvoyé par le juge de la page Web.
L'utilisation de cette méthode ne signalera pas d'avertissement lorsque la page 404 se produit. Parce que nous n'avons besoin que du code d'état, nous n'avons pas besoin de lire le contenu de la page Web. Nous pouvons raccourcir la durée d'exécution du programme en définissant le paramètre CURLOPT_NOBODY
et en ne lisant pas le contenu de la page Web.
<?php $ch = curl_init("http://www.baidu.com"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); $res = curl_exec($ch); $code = curl_getinfo($ch,CURLINFO_HTTP_CODE); if($code == 404){ echo "404"; }else{ echo $code; }
Tutoriel recommandé : Tutoriel vidéo PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!