[PHP] Jak zapisać do pliku zawartość tablicy, aby każdy jej element był w nowym wierszu?
Chcesz zapisać do pliku tekstowego zawartość całej tablicy, aby każdy element tej tablicy znalazł się w osobnej linijce.
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).