2012-05-17 23 views
6

Tengo función que tiene:PHP - búfer de salida anidada

ob_start(); 
//Include of some files 
$content = ob_get_contents(); 
ob_end_clean(); 

Ahora bien, en los que incluye otra función que utiliza el mismo código, y parece que conflicto. ¿Es posible usarlos así?

+0

¿Cómo se parecen estar en conflicto? ¿Recibes errores? –

+0

No puede declarar la misma función dos veces, es posible que pueda ajustar la definición de su función en algún tipo de función (! Function_exists ('blah')) {function blah() {...}} – Martin

+0

qué le hace pensar ¿entran en conflicto? – goat

Respuesta

11

Trate de usar búfer de salida como esta:

ob_start(); 
// your includes 
echo ob_get_clean(); 

Uso esto en toda su incluye, y usted no recibirá errores

+0

Tuve un problema similar pero usé por error ob_clean() en su lugar ob_end_clean() - ¡tenga en cuenta su diferencia! – besimple

5

El almacenamiento en búfer de salida debe ser apilable, solo tiene que coincidir ob_start con ob_end_clean. Ver http://php.net/ob_start

Cuestiones relacionadas