2012-05-17 32 views
6

tôi có chức năng đó có:PHP - lồng nhau đầu ra đệm

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

Bây giờ trong những bao gồm là một chức năng mà sử dụng cùng mã, và họ dường như xung đột. Có thể sử dụng chúng như thế này không?

+0

Làm thế nào để họ có vẻ mâu thuẫn? Bạn có gặp lỗi không? –

+0

Bạn không thể khai báo hàm giống nhau hai lần, bạn có thể bọc định nghĩa hàm của mình theo một số kiểu if (! Function_exists ('blah')) {function blah() {...}} – Martin

+0

điều gì khiến bạn nghĩ họ xung đột? – goat

Trả lời

11

Hãy thử sử dụng bộ đệm đầu ra như thế này:

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

Sử dụng này trong tất cả các bạn bao gồm, và bạn sẽ không nhận được bất kỳ lỗi

+0

Tôi đã có vấn đề tương tự nhưng sử dụng nhầm ob_clean() thay vì ob_end_clean() - được nhận thức của sự khác biệt của họ! – besimple

5

Đệm đầu ra phải được xếp chồng, bạn chỉ cần khớp ob_start với ob_end_clean. Xem http://php.net/ob_start

Các vấn đề liên quan