piątek,
PHP: Dopisywanie danych do pliku
Jak dopisać dane do pliku?
Często zachodzi potrzeba dopisania danych do istniejącego pliku. Jeśli dane mają być umieszczone na końcu pliku, sprawa jest prosta. Kluczowy element to flaga FILE_APPEND (wiersz 4).
Jeśli nowe elementy mają być na początku pliku, najpierw zostaje odczytana dotychczasowa zawartość, potem dołączamy ją do dopisywanych danych i zapisujemy plik (wiersz 5). Brak flagi FILE_APPEND powoduje, że istniejący plik zostanie nadpisany.
Najbardziej skomplikowana sytuacja to taka, kiedy dane mają znaleźć się w środku pliku. W pierwszej kolejności należy odczytać zawartość pliku, następnie podzielić dane w punkcie, w którym ma zostać umieszczona nowa treść. Ostatni krok to sklejenie tych trzech elementów w całość i nadpisanie istniejącego pliku. Na potrzeby przykładu założono, że plik składa się z bloków tekstu oddzielonych pustym wierszem (\n\n).
$plik = 'p.txt';
$dane = 'Ćwiczenie czyni mistrza';
file_put_contents($plik, $dane,FILE_APPEND);
file_put_contents($plik, $dane . file_get_contents($plik));
$tmp = explode("nn", file_get_contents($plik),2);
file_put_contents($plik, implode("nn", [$tmp[0], $dane, $tmp[1]]));
Udział wzięli
Powyższa tabela to odnośniki do właściwych stron dokumentacji języka PHP.