2012-05-17 13 views
6

Ich habe Funktion, die hat:PHP - verschachtelte Ausgabepufferung

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

Jetzt in denen enthält eine weitere Funktion, die den gleichen Code verwendet, und sie scheinen zu Konflikt. Ist es möglich, sie so zu benutzen?

+0

Wie sie scheinen in Konflikt geraten? Erhalten Sie Fehler? –

+0

Sie können nicht die gleiche Funktion zweimal deklarieren, können Sie möglicherweise Ihre Funktionsdefinition in eine Art von If (! Function_exists ('blah')) {Funktion blah() {...}} – Martin

+0

, was Sie denken lässt sie streiten sich? – goat

Antwort

11

Versuchen Ausgangspuffer wie folgt aus:

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

verwenden in allen Ihren enthält, und Sie erhalten keine Fehler

+0

Ich hatte ein ähnliches Problem, aber versehentlich verwendet ob_clean() statt ob_end_clean() - beachten Sie ihren Unterschied! – besimple

5

Die Ausgabepufferung sollte stapelbar sein, Sie müssen nur ob_start mit ob_end_clean abgleichen. Siehe http://php.net/ob_start