Temat brzmi banalnie, ale jest jeden problem. Bo jak chcę zapisać np. 3 zmienne tekstowe do jakiegoś pliku, to mam dwie możliwości jak to zrobić:
fwrite($plik, $zmienna1.$zmienna2.$zmienna3);
lub
fwrite($plik, $zmienna1."\n".$zmienna2."\n".$zmienna3);
i w żadnym z tych przypadków nie uzyskuję żądanego efektu. Bo jak np. $zmienna1 miałaby wartość "aaa", $zmienna2 - "bbb", a $zmienna3 - "ccc" to po odczytaniu za pomocą funkcji fgets otrzymuję co następuje:
Przypadek I:
"aaabbbccc"
Przypadek II:
"aaa\n"
"bbb\n"
"ccc\n"
a chciałbym uzyskać:
"aaa"
"bbb"
"ccc"
(Podaję wyniki kolejnych wywołań funkcji fgets() )
Jeżeli ktoś ma pomysł jak to zrobić, lub widział gdzieś odpowiedź na to pytanie (ja nie znalazłem) to proszę o jakieś rozwiązanie lub linka. Z góry THX.
Zrób klase , która będzie miała 3 zmienne . Utwórz jej obiekt , przypisz zmiennom klasy odpowiednie ciągi i zapisz klase do pliku ( fwrite ) ... Nie wiem czy tak sie da ... W C sie dało .
...........
a jednak przespałem się z tym problemem i mój sposób jest bez sensu ;) . Bo nie wiem jak teraz zczytać takie dane . Nie znam na tyle php .
Weź zrób przypadek II i potem utnij w każdym ciągu ostatni element .
laczysz zmienne iich wartosci w jeden ciag, odgradzajac je jakimis znakami i zapisujesz do pliku, pozniej wczytujesz i rozbijasz na zmienne.
do pliku mozesz to zapisac np w takiej postaci:
zmienna=wartsc;druga=druga_wartosc;trzecia=trzeciwa_wartsosc
pozniej za pomoca funkcji perujacych na stringach szukasz znaczkow ; i rozbijasz to na 3 czesci, a pozniej w tych 3 szukasz = i robisz z tego zmienne i ich wartosc, a nawet juz nie musisz rozbijac, tylko dodajesz $ przed nazwa kazdej zmiennej. Pokombinuj troszke ;)
do rozbijania stringów doskonale nadaje się funkcja explode()
bo tutaj chodzi tylko o 2 funckje: implode() oraz explode() ;)
zawsze mozesz te zmienne do pliku zpisywac:
zmienna=wartosc \n
zmienna=wartosc\n
itd. a potem wczytaywac linia po lini i dalej na tym mieszac.
najlepiej to zapisać jako csv czyli jak pisali poprzednicy, jednak nie potrzebujesz funkcji explode tylk fgetcsv() przykład:
struktura pliku pliku ma być taka:
aaa;bbb;ccc\n
[code]
$nazwa = "nazwa.pliku";
$zmienne_plik = fopen($nazwa, "r");
while ($zmienne = fgetcsv ($baza, 1000, ";")) {
echo "Zmienna1: ", $zmienne[0], "\n";
echo "Zmienna2: ", $zmienne[1], "\n";
echo "Zmienna3: ", $zmienne[2], "\n";
}
fclose($zmienne_plik);
[/code]