Forums d'assistance et de discussion sur les logiciels produits par Mozilla ou créés à partir des technologies Mozilla. Ce site ne dépend pas de la fondation Mozilla et est maintenu par un collectif de bénévoles.
HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
<?php
ob_start('callback'); // Fonction de callback
?><h1>Hello World</h1>
<p>Contenu divers, sans balise d'entete (html, head, body).</p>
<p>Texte....</p>
<?php
function callback($buffer)
{
/* divers traitement sur les donnés
dont l'ajout des balises html, head, body
[...]
*/
$buffer = ob_gzhandler($buffer,9);
return $buffer;
}
ob_end_flush();
?>
Quand je regarde mes headers avec LiveHTTP Header, je trouve des entêtes bizarres que je n'ai jamais envoyé avec header(), les connaissez-vous ?
La fonction callback() ajoute les balises <html> <head> et <body> au contenu stocké dans le buffer et à la fin compressent. Cette fonction est lancé lors du ob_end_flush() qui se trouve tout à la fin de la page php (due à ob_start('callback')) .
Mes pages s'affichent correctement mais je reçois des entêtes bizarres :-/.
EDIT: J'ai modifié quelques lignes de mon code plus haut pour que ça paraisse plus clair.
ok, je connais les fonctions ob_start(), etc. C'est pratique dans certains cas, mais souvent on peut s'en passer.
As tu essayé de "forcer" l'envoi de l'entête avec un header () ?
Sinon, pourquoi ne pas faire plus simple comme :
<?php
ob_start();
echo "blabla";
...
$buffer = ob_get_contents(); //récupère le contenu sans html body
ob_end_clean(); //plus besoin ;)
echo "..."; //affichage des entêtes html
echo $buffer;
echo "..."; //affichage des pieds de pages
?>
<?php
ob_start();
echo "blabla";
...
$buffer = ob_get_contents(); //récupère le contenu sans html body
ob_end_clean(); //plus besoin ;)
echo "..."; //affichage des entêtes html
echo $buffer;
echo "..."; //affichage des pieds de pages
?>
Je ne peux pas appliquer cette structure car en fait la fonction callback ne se contente pas d'ajouter des balises mais aussi avec le contenu qu'elle reçoit, elle pourrait le metttre en cache, utiliser les etags, etc... (pour l'instant ce n'est pas fait, c'est pour ça que je n'ai pas montré le code).
En fait, je cherche surtout à comprendre c'est pourquoi ces entêtes byzarres interviennent, et j'agirais en conséquence .
J'ai trouvé un lien en allemand pour le X-pAD, mais vu que ma 2e langue est l'espagnol :
D'accord, tu as besoin de la fonction callback pour faire tes traitements.
Je ne pourrais pas t'aider sur ces entêtes. Je n'ai jamais constaté le problème sur les scripts que j'ai pu réalisé.