pytanie zadane 13 kwietnia 2020 w Programowanie przez użytkownika

1 odpowiedź

odpowiedź 13 kwietnia 2020 przez użytkownika

Czasami zdarza się, że chcemy zapisać do pliku HTML dane wynikowe, które wygenerował nam skrypt napisany w PHP. Gdy odpalamy ten skrypt do koniec końców jako wyniki i tak wyświetla się się kod html, który następnie interpretuje przeglądarka internetowa, dzięki czemu internauta może zobaczyć efekt.

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.

...