webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> porady >> php + mysql

Buforowanie

autor: Bartosz 'regua' Reguła, ostatnia modyfikacja: 2007-02-23

szukaj: buforowanie buforowanie błąd headers already sent błąd headers already sent PHP PHP

Gdy posługując się PHP próbujesz wysłać cookies, utworzyć nową sesję albo wysłać nagłówki HTTP, zamiast oczekiwanego wyniku możesz zobaczyć błąd "Headers already sent". Szukasz rozwiązania w innych kursach - radzą, aby wszelkie odwołania do HTTP umieścić przed znaczkikiem <html>. Co jednak, gdy nie możesz tego zrobić? Z pomocą nadchodzi buforowanie.

Całość ogranicza się tylko do dwóch funkcji. Jest to ob_start() które umieszczamy na samym początku pliku i ob_end_flush(), które powinno znaleźć się na końcu. Cały plik powinien wyglądać tak:

<?php
ob_start();
?>
<html>
<head>
// dane
</head>
<body>
// dane
</body>
</html>
<?php
ob_end_flush();
?>

Teraz HTTP nie powinno generować żadnych błędów związanych z wysyłaniem nagłówków. PHP zbiera wysyłane dane i wysyła je wszystkie razem zanim przeglądarka zacznie interpretować kod HTML.

Bartosz 'regua' Reguła

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org