Zapisywanie do pamięci (memory stream)
Założenie: Nauczymy się, jak zapisywać dane do strumienia w pamięci w PHP, bez konieczności tworzenia fizycznego pliku na dysku.
Krok po kroku:
- Tworzenie strumienia pamięci: Używamy funkcji
fopen()
z parametrem “php://memory” do utworzenia strumienia w pamięci. - Zapisywanie danych do strumienia: Używamy funkcji
fwrite()
do zapisywania danych do utworzonego strumienia. - Odczytywanie danych ze strumienia: Używamy funkcji
rewind()
, aby ustawić wskaźnik na początek strumienia, a następniefread()
, aby odczytać zawartość. - Zamykanie strumienia: Zawsze zamykamy strumień po zakończeniu pracy.
$stream = fopen('php://memory', 'w+');
Funkcja fopen()
otwiera strumień w trybie zapisu (“w+”) i zwraca uchwyt do strumienia.
$dane = "To są moje dane do zapisania w pamięci.";
fwrite($stream, $dane);
fwrite()
zapisuje zawartość zmiennej $dane
do strumienia.
rewind($stream);
$odczytaneDane = fread($stream, strlen($dane));
echo $odczytaneDane; // Wyświetli: To są moje dane do zapisania w pamięci.
rewind()
ustawia wskaźnik na początek strumienia. fread()
odczytuje całą zawartość strumienia (strlen($dane)
określa długość danych do odczytania).
fclose($stream);
fclose()
zamyka strumień i zwalnia zasoby.
Ten przykład pokazuje podstawy pracy ze strumieniami pamięci w PHP. Zachęcamy do dalszego eksperymentowania i poznawania zaawansowanych technik pracy z plikami i strumieniami!