Legro
30.09.2006, 20:11:47
Witam,
mam plik baza.txt i w nim takie dane (numerki obok wartosci to numery linii)
01 imie
02 nazwisko
03 wiek
04 miasto
05 tel
i chcialbym pobrac z tego pliku linijke 3, aby zedytowac wiek... wiem jak otworzyc plik jak uzyc flock. do pobierania danych sluzy fread ale jaki parametr dodac zeby pobrac konkretna linie? w manualu nic ciekawego n.t nie pisze :/
lopik
30.09.2006, 20:19:54
Ładujesz plik do tablicy
$tablica = file("baza.txt");
I pobierasz dany element z tablicy.
$tablica[2] gdzie 2 to trzeci element tablicy licząc od 0. czyli linia w pliku "wiek"
Legro
1.10.2006, 06:11:56
Ok dzięki, a jak teraz cos zapisac do konkretnej linii?
nikt nie wie? czyli to jednak nie jest proste
array_push i array_pop popatrz
skowron-line
1.10.2006, 06:24:44
array_pop to akurat usuwanie z tablicy i to jeszcze z konca
a array_push to dodawanie ale tez na koniec a nie tak jak kolega chce na okreslone miejsce
Legro
1.10.2006, 06:35:00
Cytat
array_push i array_pop popatrz
Cytat
array_pop to akurat usuwanie z tablicy i to jeszcze z konca
a array_push to dodawanie ale tez na koniec a nie tak jak kolega chce na okreslone miejsce
Koledzy

ja chce do pliku a nie tablicy...
Ale najpierw trzeba dodać na koniec a potem zamieniać miejscami.
Przynajmniej mi nic innego nie przychodzi do głowy
Legro
1.10.2006, 07:11:30
tz. jak?
Taki przykład
Kod
$tablica=array(1,2,3,4,5,6,8,9);
//wpisauje na miesce gdzie powinno byc 7
array_push($tablica,7);
for($x=8;$x>6;$x--){
$temp=$tablica[$x];
$tablica[$x]=$tablica[$x-1];
$tablica[$x-1]=$temp;
}
print_r($tablica);
Legro
1.10.2006, 08:27:43
a jak zrobic na txt bez tablic?
To wczytaj plik do zmiennej
Kod
$plik=fopen("nazwa.pliku.txt","r+");
while(!feof($plik))
$calosc=fgets($plik,4096);
fclose($plik);
Odnajdz miejsce gdzie chcesz coś wpisać
I zapisz plik ponownie
Kod
$plik=fopen("nazwa.pliku.txt","w+");
fputs($plik,$calosc);
fclose($plik);
Legro
1.10.2006, 08:58:27
ale ten kod twoj co pobiera dana linijke jest nieergonomiczny :/
jezeli bede miec plik txt i w nim okolo 200 linijek i bede chcial wszystkie edytowac to nie wyrobie z pisaniem kodu.. musi chyba byc jakas funckja ktora pobiera dana linijke ... tz. pobeira linijke i edytuje ja ;/
Spróbuj użyć fseek
Może to będzie odpowiedź na twoje pytanie
Legro
1.10.2006, 10:29:37
ok skorzystalem z ftell i rewind... dzieki narazie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.