![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Szukalem rozwiazania jak umiescic wpisy do pliku w kolejnosci "od gory do dolu". Znalazlem taki kod. Niestety nie oddziela od siebie wpisow, laczy je z poprzednim wpisem. Probowalem roznych sztuczek, ale nie potrafie sobie poradzic. je
Oto kod:
Ten post edytował Ksiaze 26.02.2010, 22:22:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 11.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Problem leży w :
CODE $fp=fopen("$file", "r+"); zamiast r+. r - Tylko do odczytu r+ - Do odczytu i zapisu w - Tylko do zapisu. Tworzy nowy plik lub kasuje stary jeśli istnieje w+ - Do odczytu i zapisu.Tworzy nowy plik lub kasuje stary jeśli istnieje a - Tylko do zapisu. Nie kasuje istniejącego pliku lecz dopisuje na jego końcu a+ - Do odczytu i zapisu. Nie kasuje istniejącego pliku lecz dopisuje na jego końcu Czyli użyj a- lub a+ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kolega chyba tez poczatkujacy.
1. a - Tylko do zapisu. Nie kasuje istniejącego pliku lecz dopisuje na jego końcu a+ - Do odczytu i zapisu. Nie kasuje istniejącego pliku lecz dopisuje na jego końcu Jak sam zauwazyles dopisuje na koncu. 2. Kiedys to zastosowalem, nie dopisuje nic. Jeszcze taka mala uwaga. Pierwotny kod mial "ab", ale to mi dopisywalo wlasnie na koniec. Szukalem wiec rozwiazania, aby dodawal na koniec. Znalazlem powyzszy kod. Owszem dodaje, ale nie robi odstepow miedzy wpisami. Moze to byc prozaica sprawa, tylko nie wiem gdzie i jak umiescic </br> Rozwiazalem problem. Przeanalizowalem pewien kod od kolegi, ktory 3 lata temu przeslal mi go. Wtedy to byla dla mnie czarna magia, teraz tez jest, ale sa juz jakies przeswity zrozumieniu tego. Dodalem po prostu komende fputs($fp, "") i to zadzialalo. Rozwiazalem problem. Przeanalizowalem pewien kod od kolegi, ktory 3 lata temu przeslal mi go. Wtedy to byla dla mnie czarna magia, teraz tez jest, ale sa juz jakies przeswity zrozumieniu tego. Dodalem po prostu komende fputs($fp, "") i to zadzialalo. Po 30 minutach No i bingo ! Rozwiazalem problem. Przeanalizowalem pewien kod od kolegi, ktory 3 lata temu przeslal mi go. Wtedy to byla dla mnie czarna magia, teraz tez jest, ale sa juz jakies przeswity zrozumieniu tego. Dodalem po prostu komende fputs($fp, "") i to zadzialalo. Ten post edytował Ksiaze 26.02.2010, 22:45:52 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat jak umiescic wpisy do pliku w kolejnosci "od gory do dolu" - po co tak? To nielogiczne, nowe dane są zawsze dopisywane na końcu pliku - rozumiem odczytywać od końca, ale zapisywać? Nie da się tego wygodnie zrobić, bo trzeba albo wczytać cały plik do pamięci, co jest mało wydajne i nie będzie działać przy dużych plikach, albo odczytać plik linia po linii i dopisać go do zmiennej, która ma być na początku pliku.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 25.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
- po co tak? To nielogiczne, nowe dane są zawsze dopisywane na końcu pliku - rozumiem odczytywać od końca, ale zapisywać? Nie da się tego wygodnie zrobić, bo trzeba albo wczytać cały plik do pamięci, co jest mało wydajne i nie będzie działać przy dużych plikach, albo odczytać plik linia po linii i dopisać go do zmiennej, która ma być na początku pliku. Zgadza sie, wszystko musi ladowac. Ale dlugo szukalem i wszedzie powtarzaja wlasnie to rozwiazanie. A musi byc na poczatku, taki wymog ktos stawia. Pozdrawiam. No tak, o tym wlasnie napisalem wyzej. ![]() No tak, o tym wlasnie napisalem wyzej. No tak, o tym wlasnie napisalem wyzej. No tak, o tym wlasnie napisalem wyzej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:33 |