ob_start() et php script
7 messages
• Page 1 sur 1
- DecibelMan
- WRInaute discret

- Messages: 145
- Inscription: 10 Juil 2005
ob_start() et php script
Bonjour, depuis peu j'utilise ob_start() sans trop savoir si ça marche vraiment.
Je n'utilise pas de fichier cache comme certains sites le font pour optimiser le tout. (cf ce très bon topic : http://www.webrankinfo.com/forums/viewtopic_28614.htm )
Bref, j'utilise ob_start() pour n'afficher le php qu'une fois tout calculé (enfin si j'ai bien compris le principe)
Je me demande si celà me sert dans mon cas :
index.php
Ma question : est-ce rigoureux en termes de codage ? et est-ce que ça sert ? et les pubs dans une bufferisation c'est bon ? c'est pas génant ?
Et peux-t-on encapsuler plusieurs ob_start() ob_end_flush();
exemple si je fais un include ('page.php') et que dans page.php j'utilise ob_start() [nouveau code php] ob_end_flush(); qui est inclu dans mon index.php ?
Merci.
Je n'utilise pas de fichier cache comme certains sites le font pour optimiser le tout. (cf ce très bon topic : http://www.webrankinfo.com/forums/viewtopic_28614.htm )
Bref, j'utilise ob_start() pour n'afficher le php qu'une fois tout calculé (enfin si j'ai bien compris le principe)
Je me demande si celà me sert dans mon cas :
index.php
- Code: Tout sélectionner
<?php
session_start();
?>
<html>
<?php
ob_start()
[mon code php avec des centaines d'echo et quelques fonctions]
[1 pub google]
[mon code php avec d'autres echo et include('page.php');]
ob_end_flush();
?>
</body>
</html>
Ma question : est-ce rigoureux en termes de codage ? et est-ce que ça sert ? et les pubs dans une bufferisation c'est bon ? c'est pas génant ?
Et peux-t-on encapsuler plusieurs ob_start() ob_end_flush();
exemple si je fais un include ('page.php') et que dans page.php j'utilise ob_start() [nouveau code php] ob_end_flush(); qui est inclu dans mon index.php ?
Merci.
Dernière édition par DecibelMan le Sam Jan 10, 2009 18:04, édité 1 fois.
- zeb
- WRInaute accro

- Messages: 3278
- Inscription: 5 Déc 2004
Re: ob_start() et php script
- Code: Tout sélectionner
<html>
<?php
session_start();
ob_start()
[mon code php avec des centaines d'echo et quelques fonctions]
[1 pub google]
[mon code php avec d'autres echo et include('page.php');]
ob_end_flush();
?>
</body>
</html>
la présence de la balise <html> en amont du session_start() provoquie le fait que session_start() ne fonctionne pas.
la bufferisation des données n'apporte pas d'avantage si comme dit au dessus tu ne fait aucun traitement dessus.
Au pire tu retarde l'acheminement des données vers le navigateur client du coup tu retarde l'affichage des pubs qui n'est déclenché que lorsque le navigateur reçoit le code javascript de la pub
- DecibelMan
- WRInaute discret

- Messages: 145
- Inscription: 10 Juil 2005
Merci pour ces réponses.
Alors pour le <html> ouai c'est une erreur de recopiage, je vais editer
Sinon je lisais ici http://www.linuxformat.co.uk/wiki/index ... _buffering
que les perf etaient améliorées du fait de l'empilement des données et de l'affichage en 1 bloc ? enfin je pige pas trop.
J'ai bcp de pages dynamiques qui changent à chaque utilisation d'un membre : ex : 1 membre upload une image et la stocke dans son espace.Je ne sais pas si le fichier cache aurait un intéret car l'utilisateur change perpétuellement de contenu sur sa page, comme un blog commenté en fait, ou un chat....
-sur une autre appli que j'ai, je crée du code php (bcp) et l'utilisateur créé des variables de session qui modifie la page sur laquelle il se trouve (couleur du fond, style...), si je mets en cache ma page de base, est-ce que la session sera pris en compte ? car c'est les var de sessions qui agrémentent la page, ensuite il peux télécharger le contenu fait (c'est encore mysterieux pour moi)
-cette fonction a l'air sympa
http://www.coderprofile.com/networks/so ... ge-caching
mais comment definir une date de cache si mon site est vachement dynamique, et de plus je ne vois pas de vidage du buffer ob_clean ?
Je sais ca fait pas mal de question mais mon serveur sature lol
Alors pour le <html> ouai c'est une erreur de recopiage, je vais editer
Sinon je lisais ici http://www.linuxformat.co.uk/wiki/index ... _buffering
que les perf etaient améliorées du fait de l'empilement des données et de l'affichage en 1 bloc ? enfin je pige pas trop.
J'ai bcp de pages dynamiques qui changent à chaque utilisation d'un membre : ex : 1 membre upload une image et la stocke dans son espace.Je ne sais pas si le fichier cache aurait un intéret car l'utilisateur change perpétuellement de contenu sur sa page, comme un blog commenté en fait, ou un chat....
-sur une autre appli que j'ai, je crée du code php (bcp) et l'utilisateur créé des variables de session qui modifie la page sur laquelle il se trouve (couleur du fond, style...), si je mets en cache ma page de base, est-ce que la session sera pris en compte ? car c'est les var de sessions qui agrémentent la page, ensuite il peux télécharger le contenu fait (c'est encore mysterieux pour moi)
-cette fonction a l'air sympa
http://www.coderprofile.com/networks/so ... ge-caching
mais comment definir une date de cache si mon site est vachement dynamique, et de plus je ne vois pas de vidage du buffer ob_clean ?
Je sais ca fait pas mal de question mais mon serveur sature lol
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
YoyoS a écrit:Ca sert strictement à rien ^^ Si tu ne t'en sert pas pour créer un fichier de cache c'est comme si tu refaisais le même travail que le moteur php va faire juste après
je vois une utilité très pratique : envoyer une erreur 503 en cas d'erreur mysql.
-

Bool - WRInaute passionné

- Messages: 1290
- Inscription: 26 Fév 2004
Comme les autres, ob_start() ne me sert qu'à des endroits très précis... pour de la bufferisation quoi
Pour l'aspect performance, il y a un très très léger gain, mais qu'on retrouve aussi si on active la compression (zlib.output_compression) ou simplement la bufferisation "par paquet". Et au moins contrairement à ob_start() ça n'impacte quasiment pas la consommation mémoire.
Pour l'aspect performance, il y a un très très léger gain, mais qu'on retrouve aussi si on active la compression (zlib.output_compression) ou simplement la bufferisation "par paquet". Et au moins contrairement à ob_start() ça n'impacte quasiment pas la consommation mémoire.
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Avis sur Start 100M et start 100M L+, fiable ?
- Comment lancer un script php à parrtir d'un autre script php ?
- Executer script PHP puis visualiser le script Impossible?
- [SCRIPT] Glybe (proxy php) browser.php renommer les fichiers télécharger
- Script php pour liens du type http://www.monsite.com/link.php?id=152
- [ Script PHP ] Problème de connexion (session php)
- Start.com de Microsoft
- [résolu] session start()
- Le retour des start up ?
- function.session-start (URENT SVP)
Consultez la description détaillée des produits ou services de Google suivants : Teracent, Google Ventures
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
