Http responses – php

Il peut s’avérer intéressant de récupérer le code renvoyé dans la réponse HTTP dans un script.

Quelques codes comme exemples :

  • 200: OK
  • 302: Déplacé mais trouvé
  • 403: Accès interdit
  • 404: Page Introuvable
  • 500: Erreur serveur

Voici comment faire (je vous fourni un bout de code commenté, des explications plus complètes se trouvent en dessous de ce dernier) :

function ch_url($urlParam){
	// On récupère l'ancien level d'error reporting
	$levelBefore = error_reporting();
	//Le fopen d'une url sur un serveur qui n'existerait plus par exemple fait un très moche message d'erreur, on les déactive donc
	error_reporting(0);
	//Ouverture de la connexion
	if (!$fp = fopen($urlParam, 'r')) {
	    error_reporting($levelBefore);
	    return "404";
	}
	//On récupère les données du stream
	$meta = stream_get_meta_data($fp);
	//On prend la donnée qui nous intéressé dans l'objet et on la transforme comme on veut (voir si dessous pour l'explication)
	$return = explode(' ',$meta['wrapper_data'][0]);
	//On ferme proprement la connexion
	fclose($fp);
	//On replace le niveau d'erreur
	error_reporting($levelBefore);
	//Et on renvoie le résultat
	return $return[1];
}
/*On fait s'afficher la réponse de notre fonction pour une url étant passé par GET
 (script.php?url=http://lgnap.helpcomputer.org/ par exemple)
*/
echo ch_url($_GET['url']);

Read More…

Posted in Web at February 14th, 2010. Comments Off on Http responses – php.