Buforowanie przy odczycie plików
Założenie: Nauczymy się, jak zwiększyć wydajność odczytu plików w PHP za pomocą buforowania.
Krok po kroku:
- Otwarcie pliku i włączenie buforowania:
$plik = fopen("moj_plik.txt", "r"); if ($plik) { // Włączamy buforowanie o rozmiarze 8KB stream_set_read_buffer($plik, 8192); } else { echo "Błąd otwarcia pliku!"; exit; }
Funkcja
fopen()
otwiera plik w trybie odczytu (“r”).stream_set_read_buffer()
ustawia rozmiar bufora. Większy bufor może przyspieszyć odczyt, ale zajmuje więcej pamięci. - Odczyt danych z bufora:
while (!feof($plik)) { $zawartosc = fgets($plik); // Przetwarzanie zawartości $zawartosc echo $zawartosc; }
Pętla
while
odczytuje dane z pliku linijka po linijce za pomocąfgets()
dopóki nie zostanie osiągnięty koniec pliku (feof()
). - Zamknięcie pliku:
fclose($plik);
Funkcja
fclose()
zamyka plik, zwalniając zasoby.
Pamiętaj, że rozmiar bufora należy dobrać odpowiednio do wielkości pliku i dostępnej pamięci. Ten przykład pokazuje podstawowe wykorzystanie buforowania przy odczycie plików. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi rozmiarami buforów!