lopik_ Opublikowano 30 Września 2006 Zgłoś Opublikowano 30 Września 2006 Hmm napewno to jest proste, ale ja jakoś nie moge do tego dojść. Np. mam plik 'plik.txt' i w nim mam: Jan Kowalski 30 123 456 789 // Telefon Główna 123 Małopolska Wczytuję ten plik do tablicy: $tablica = file("plik.txt"); I chcę zmienić jakies dane o tym kimś, np chce zmienić numer telefonu, czy nazwisko, i chcę te nowe dane zapisać - no i właśnei mam problem ;/ Nie wiem jak zapisac w danym indexie tablicy nowe dane. Z góry dziękuję za pomoc. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bellum Opublikowano 30 Września 2006 Zgłoś Opublikowano 30 Września 2006 (edytowane) Hmm napewno to jest proste, ale ja jakoś nie moge do tego dojść. Np. mam plik 'plik.txt' i w nim mam: Jan Kowalski 30 123 456 789 // Telefon Główna 123 Małopolska Wczytuję ten plik do tablicy: $tablica = file("plik.txt"); I chcę zmienić jakies dane o tym kimś, np chce zmienić numer telefonu, czy nazwisko, i chcę te nowe dane zapisać - no i właśnei mam problem ;/ Nie wiem jak zapisac w danym indexie tablicy nowe dane. Z góry dziękuję za pomoc. funkca file() zapisuje dane w tablicy numerycznej wiec indexem jest zawsze liczba liczona od 0 czyli, zmiana wyglada tak: $tablica[0] = 'nowa wartosc'; potem zrzucasz cała tablice do pliku w dowolny sposób np: $fp = fopen($adres, "w"); fputs($fp, implode("\r\n",$tablica)); fclose($fp); Edytowane 2 Października 2006 przez Zawadaki Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
lopik_ Opublikowano 30 Września 2006 Zgłoś Opublikowano 30 Września 2006 No tak, działa :) Domyślałem sie jak to niby zrobć, tylko nie wiedziałem właśnie jak zapisac tablice do pliku :) a to sie robi tak: implode("\r\n",$tablica) No i zrobiłem tak: <?php $tablica = file("baza.txt"); $tablica[2] = "Lat 60\n"; $plik = fopen("baza.txt", "w"); fwrite($plik, implode(" ", $tablica)); fclose($plik); foreach ($tablica as $wartosc) { echo nl2br($wartosc); } ?> Musiałem dodać do zmiennej "\n" bo wyglądało tak: (a po ponownym odświerzeniu stronny, kasowało kolejno 2 ostatnie linie) Jan Kowalski Lat 60 123 456 789 Główna 123 Małopolska W inplode usunąłem "\r\n" bo też po ponownym odświerzeniu dodawało linie. Ale tak jak zrobiłem to jest super :) Ponownie Dzięki Wielkie. ;] Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 7 Grudnia 2006 Zgłoś Opublikowano 7 Grudnia 2006 A nie wygodniej ci trzymać danych jako CSV (comma separated values) albo zserializowany obiekt? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 8 Grudnia 2006 Zgłoś Opublikowano 8 Grudnia 2006 csv odpada ze względu na spacje, chyba że format je przewiduje w jakiś sposób... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...