Gérer une erreur 404 avec file_get_contents()

a marqué ce sujet comme résolu.

Bonjour,

J’essaye d’écrire un script qui récupère le contenu d’une page internet. Le souci, c’est que si la page renvoie une erreur 404, le script plante :

<?php
$url = 'https://www.zestedesavoir.com/notfound';

echo htmlspecialchars(file_get_contents($url));

Auriez-vous une piste pour d’abord vérifier si la réponse renvoyée a un code http 200 ?

Salut !

file_get_contents retourne false en cas d’erreur (attention à vérifier avec une égalité stricte), mais il n’y a pas beaucoup plus de contrôle desssus. Et il faut désactiver les erreurs de PHP pour retirer l’avertissement, qui n’est sinon pas désactivable.

L’option propre pour avoir un contrôle plus fin sur la requête et sa valeur de retour, c’est de passer par curl.

+0 -0

Un arobase devant l’appel de fonction ça ne marche pas ? C’est pas propre mais ça devrait marcher.

echo htmlspecialchars(@file_get_contents($url));

Sachant que comme dit @Amaury, normalement, tu devrais vérifier le retour de file_get_contents.

Je te conseil de désactiver les warning en production mais de les laisser sinon.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte