2011-04-24 3 views
0
ob_start(); 

for($i=1; $i<=10; $i++){ 
    echo 'FUU'; 
    $output = ob_get_contents(); 
} 

echo $output; 
ob_end_flush(); 

Donc, au lieu d'un seul UF, j'obtiens 10! Pourquoi mon ob_start() ne fonctionne pas?Le tampon de sortie PHP ne fonctionne pas!

+0

Un? Dix? Ne devriez-vous pas avoir vingt ans? Vous faites écho dix fois dans votre tampon de sortie, puis vous faites écho à la sortie $, qui l'a également dix fois, dans votre tampon de sortie, puis vous rincez le tampon, qui devrait sortir les deux ensembles de dix. –

+0

pourrait être, j'ai vu beaucoup d'entre eux :) – Alex

Répondre

2

Je ne pense pas que vous obtenez ce qu'il fait. Voici une promenade à travers:

$i = 1 
Output buffer = FUU 
ob_get_contents()/$output = FUU 

$i = 2 
Output buffer = FUUFUU 
ob_get_contents()/$output = FUUFUU 

$i = 3 
Output buffer = FUUFUUFUU 
ob_get_contents()/$output = FUUFUUFUU 

Lorsque vous appelez ob_get_contents chaque itération, il devient tout ce qui a été echo ed.

+0

doh! Je suis tellement stupide: x – Alex

Questions connexes