Une très jolie fille est venue m’expliquer un jour que le client de la boite où elle travaillait avait demandé un design qui changeait selon qu’on soit le jour ou la nuit.
Les développeurs locaux n’avaient aucune idée de comment faire. Ils ont tous d’abord regardé du coté d’un javascript pouvant récupérer l’heure et transformer le design comme il fallait. Ils ont aussi émit l’idée d’utiliser un CSS généré à la volée par php (mais je trouvais ça beaucoup trop lourd personnellement).
C’est là que j’ai trouvé l’idée toute conne suivante : et si on utilisait un css pour la structure, qu’on en retirait toute les couleurs ou images importées qui doivent changer dans un autre css. On garderait un css ‘struct.css’ et on ajouterai un css appellé ‘jour.css’, le deuxième ‘nuit.css’. Vous voyez où je veux en venir ?
Read More…
Posted in
Web at March 11th, 2010.
3 Comments.
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.