jacekwilczynski

Output buffering

Dec 13th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.21 KB | None | 0 0
  1. <?php
  2. echo 'Ten tekst pójdzie proste do HTML-a<br>';
  3. ?>
  4.  
  5. I ten też<br>
  6.  
  7. <?php
  8. // Rozpocznij przechwytywanie wyjścia, tzw. output buffering (stąd skrót 'ob')
  9. ob_start();
  10. ?>
  11.  
  12. A to nigdzie nie zostanie wyświetlone, tylko zapamiętane<br>
  13.  
  14. <?php
  15.  
  16. echo 'To też trafi do bufora w pamięci zamiast na ekran.<br>';
  17.  
  18. // Jeżeli byśmy tutaj skończyli, to i tak na koniec programu wszystko zostałoby wywalone z bufora do dokumentu HTML, więc nie byłoby żadnej różnicy. Dlatego przed zakończeniem programu wyczyszczę bufor i zobaczysz, że od momentu wywołania ob_start() nic nie zostaje wydrukowane.
  19.  
  20. // Wyczyść bufor
  21. ob_clean();
  22.  
  23. // Poniższa linijka wyciąga dane z bufora do zmiennej, po czym oczyści bufor i przywraca możliwość pisania prosto do dokumentu
  24. $dane = ob_get_clean();
  25.  
  26. echo 'Oto zbuforowana treść:<br>';
  27.  
  28. // A ta wyświetli wartość zmiennej 2 razy, wszystko wielkimi literami. Dzięki temu, że nie wyrzucaliśmy outputu prosto na ekran, tylko zbieraliśmy do stringa, możemy teraz przed jego wyświetleniem dokonać dowolnych transformacji.
  29. echo strtoupper($dane . $dane);
  30.  
  31. // Oczywiście nic nie ma, bo instrukcją ob_clean() wyczyściliśmy bufor. Dlatego usuń ją.
Advertisement
Add Comment
Please, Sign In to add comment