Czasami zdarza się, że chcemy zapisać do pliku html dane wynikowe, które wygenerował nam skrypt napisany w php. Gdy odpalamy taki skrypt to wynikiem jego działania na końcu przeważnie jest kod html, który po przesłaniu do przeglądarki internetowej i interpretacji (ang. parsing) przez przeglądarkę tego kodu, oczom użytkownika ukazuje się strona internetowa jako efekt końcowy. Za pomocą php można generować też: dokumenty, obrazki, pliki muzyczne itp. Domyślnie php generuje kod html, ale prze ustawienie odpowiednich header'ów można generować w. w. pliki.
Można ten wynik zapisać bezpośrednio z przeglądarki jako plik .html, ale nie jest to zbyt wygodne. Można ten proces zautomatyzować i zrobić to bezpośrednio w tym pliku .php.
Użyjemy do tego kilku funkcji w PHP. Na samym początku skryptu umieszczamy:
ob_start();
Funkcja ta włącza buforowanie danych. Następnie na samym końcu skryptu wklejamy poniższy kod:
$strona_wynikowa = ob_get_contents();
$plik = fopen('plik.html', 'w');
fwrite($plik, $strona_wynikowa);
fclose($plik);
ob_end_flush();
I teraz tak, do zmiennej $strona_wynikowa przypisujemy za pomocą funkcji ob_get_contents() zawartość bufora wyjściowego. Następnie tworzymy plik HTML o nazwie plik.html w którym zapisane będą, wszystkie dane wynikowe wykonanego skryptu php. Plik zapisze się na serwerze w tym samym katalogu, gdzie znajduje się plik ze skryptem .php
Ostatnią funkcję można zastąpić inną ob_end_clean(), dzięki której nic nie będzie się wyświetlać w przeglądarce, tylko zapisze się plik do html na serwerze.