Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zapisywać dane do tablicy w pliku.txt
david8213
post 14.12.2009, 20:07:48
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 0
Dołączył: 9.12.2009

Ostrzeżenie: (10%)
X----


Mam plik.txt i w nim tablicę z danymi.

Dane z pliku.txt odczytuje za pomocą zmiennych
.$exp[0].
.$exp[1].
.$exp[2].

Jak edytować np zmienną w tablicy .$exp[1].
(dane znadują się w pliku.txt)

Ten post edytował david8213 14.12.2009, 20:09:46
Go to the top of the page
+Quote Post
piotrooo89
post 14.12.2009, 20:25:25
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




dalej nie wiemy jak pobierasz dane. pokaż cześć pliku .txt i miejsce w którym realizujesz odczytywanie.


--------------------
Go to the top of the page
+Quote Post
david8213
post 14.12.2009, 21:49:23
Post #3





Grupa: Zarejestrowani
Postów: 308
Pomógł: 0
Dołączył: 9.12.2009

Ostrzeżenie: (10%)
X----


Plik.txt
Kod
aaaaaaa|bbbbbbb|14,12,2009 - 19:47:58|
cccccc|dddddddd|14,12,2009 - 19:47:53|
eeeeeee|fffffff|14,12,2009 - 19:47:51|
gggggg|hhhhhhh|14,12,2009 - 19:47:48|


Odczyt index.php
Kod
<?php
$file = file("plik.txt");
foreach($file as $value) {   //pętla odczytująca tablice
$exp = explode("|",$value);
echo " ".$exp[0]." ".$exp[1]." ".$exp[2]." ";
}
?>


Chciałbym zmienić np fffff na mmmmmmm

Ten post edytował david8213 14.12.2009, 21:56:00
Go to the top of the page
+Quote Post
magnus
post 14.12.2009, 23:32:29
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

Ostrzeżenie: (0%)
-----


A może użyć json_encode/json_decode?
Albo np. SQLite albo innej bazy operującej na plikach tekstowych.
Bo generalnie nie jest problemem pobranie danych z pliku i ich zmiana, tylko ich zapisanie z powrotem do pliku.

W ostateczności po zmianie wartości w tablicy trzeba zrobić operacje odwrotne, tzn. połączyć wiersze przy pomocy join() a potem w pętli zapisać je do pliku przy pomocy fwrite().


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
david8213
post 15.12.2009, 06:43:09
Post #5





Grupa: Zarejestrowani
Postów: 308
Pomógł: 0
Dołączył: 9.12.2009

Ostrzeżenie: (10%)
X----


tyle to wiem.
lecz jak to zrobić, na powyższym przykładzie
Go to the top of the page
+Quote Post
Crozin
post 15.12.2009, 07:24:28
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


serialize/unserialize, ewentualnie var_export.
Go to the top of the page
+Quote Post
Pilsener
post 16.12.2009, 11:35:42
Post #7





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Jak chcesz się męczyć na plikach to polecam:
http://www.forumweb.pl/viewtopic.php?t=39103

I jeśli plik to nie ma być baza danych, lecz coś w rodzaju pliku konfiguracyjnego (zawsze wczytywany w całości) to polecam funkcje serialize i unserialize:

  1. $tablica = unserialize(file_get_contents($plik)); //wczytujemy plik do tablicy
  2. $tablica[3] = 'abc'; //edytujemy tablicę
  3. file_put_contents($plik,serialize($tablica)); //zapisujemy plik


Pamiętaj jednak, że to jest dobre tylko dla małych plików, jeśli chcesz tak zrobić np. newsy czy artykuły to zaraz zawalisz całą dostępną pamięć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 15:48