[PHP] Jak zapisać do pliku zawartość tablicy, aby każdy jej element był w nowym wierszu?

0x01 graphic

Chcesz zapisać do pliku tekstowego zawartość całej tablicy, aby każdy element tej tablicy znalazł się w osobnej linijce.

0x01 graphic

Jeżeli zawartość tablicy chcesz przechować na dysku, najlepiej zapisać wszystkie jej elementy (rekordy) do pliku tekstowego. W ten sposób inny skrypt lub użytkownik może je wygodnie przetwarzać. Zobacz jak to zrobić.

Stwórzmy tablicę, która będzie miała kilka rekordów i zapiszmy całość do pliku:

<?

$tablica[]="zerowy wiersz";

$tablica[]="pierwszy wiersz";

$tablica[]="drugi wiersz";

$tablica[]="trzeci wiersz";

$f=fopen("plik.txt","w");

foreach ($tablica as $linia) {

fputs($f,"$linia\n");

}

fclose($f);

?>

Nasz tablica o nazwie $tablica[] może być oczywiście dowolnie długa. Aby umieścić jej zawartość w pliku, wystarczy otworzyć plik do zapisu podając jego nazwę i atrybut "w" (write - zapis). Jeżeli chcesz dodawać zawartość tablicy do już istniejącego pliku (aby go nie nadpisać), wtedy ten atrybut powinien być ustawiony jako "a" (append - dodaj).

Następnie w pętli foreach(), każdy element tablicy przypisany do zmiennej $linia, zostaje zapisany do pliku. Znak końca linii \n powoduje, że elementy tablicy znajdują się w osobnych linijkach, a nie jeden za drugim.

Na końcu wystarczy zamknąć plik po zapisaniu całości. Pamiętaj tylko, że do zapisu pliku na dysku potrzebne są Ci uprawnienia do zapisywania. Możesz je zmienić w całym katalogu lub utworzyć plik z prawamy do zapisu (chmod 666).