Maison >développement back-end >tutoriel php >Méthode PHP pour détecter si une URL donnée est une page 404

Méthode PHP pour détecter si une URL donnée est une page 404

王林
王林original
2019-11-08 10:15:253404parcourir

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

Méthode PHP pour détecter si une URL donnée est une page 404

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn