Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ob_start + includowane pliki
Forum PHP.pl > Forum > PHP
Piotr_81
Witam.
Mam problem z buforowaniem wyjścia w php.
Buforowanie działa dobrze, aż dopóki nie pojawi się na drodze jakiś include.
Nieważne czy includowany plik wysyła jakieś dane, czy zawiera tylko zmienne konfiguracyjne - bufor momentalnie nie działa (tzn. zbierane dane są wysyłane a ob_get_contents() nic nie zwraca.
Czy ktoś spotkał się z takim problemem?
Szukam już kilka godzin i nie mogę znaleźć rozwiązania.
Z góry dziękuję za pomoc.
Pozdrawiam.
WebCM
Sprawdź, czy opcja implicit_flush nie jest włączona w konfiguracji. Jeśli nie masz dostępu do php.ini:
  1. <?php
  2. var_dump(ini_get('implicit_flush'));
  3. ?>
Jeśli jest włączona, wyłącz ją.
  1. <?php
  2. ?>
Piotr_81
Próbowałem już w ten sposób i efekt ten sam.
  1. <?php
  2. include('includes/forum_template.php');
  3.  
  4.  
  5. //$smarty->display('index.tpl');
  6. require('forum/index.php');
  7. $asdf = ob_get_contents();
  8. ?>


Wywołanie tego kodu powoduje wyświetlenie zawartości pliku forum/index.php
nexis
Cytat(Piotr_81 @ 25.06.2008, 16:18:50 ) *
Wywołanie tego kodu powoduje wyświetlenie zawartości pliku forum/index.php


A jaki efekt chciałbyś uzyskać? Do zmiennej trafi wszystko pomiędzy ob_start" title="Zobacz w manualu PHP" target="_manual a ob_end_clean" title="Zobacz w manualu PHP" target="_manual, czyli zrób tak:

  1. <?php
  2. include('includes/forum_template.php');
  3. require('forum/index.php');
  4. $asdf = ob_get_contents();
  5. ?>
Piotr_81
No i co to za różnica?
Przecież chcę zbuforować plik forum/index.php a nie includes/forum_template.php
dadexix
no to zrób skrypt testowy własno ręcznie i dowiesz się czy to zły kod czy zła konfiguracja:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.