![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 7.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
męczę się już kilka godzin z zagadnieniem dotyczącym zapisywania do pliku. Znalazłem w google tematy ludzi z podobnym problemem, ale nigdzie nie znalazłem rozwiązania, które u mnie by pomogło. Kłopotliwy kod:
Problem polega na tym, że dane wpisane do pliku niezależnie od metody fputs (fwrite) czy file_put_contents są zdublowane. Zależy mi, żeby dane dopisywały się na końcu i zawsze dzieje się to podwójnie. Sprawdziłem i jestem pewien, że nigdzie w kodzie nie ma podwójnie wywołanej funkcji. Cały kod wykonuje się raz, a fputs zachowuje się jakby została wywołana podwójnie. Sprawdzałem i przełączyłem fopen w tryb "r+", użyłem fseek, żeby się przesunąć na koniec pliku i zauważyłem coś ciekawego. Jak jestem na końcu pliku i próbuje coś wpisać to się dubluje, jak się przesunę od końca na więcej niż potrzeba na wpisane danych to problem nie występuje. Wygląda na to, że w momencie kiedy "kończy" się plik to dane wpisywane są ponownie. Testowałem różne przeglądarki i różne komputery, wszędzie ten sam problem. Nie mam już pomysłu jak to naprawić. Kombinowałem, żeby może po zapisie kasować z pliku dane, ale żeby to zrobić to muszę ponownie zapisać poprawione dane, które ponownie się dublują... Ktoś ma jakiś pomysł? Ten post edytował Vexis 7.04.2017, 12:53:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Dodało się dwa razy tylko ja skopiowałem jeden egzemplarz :/ Wiec masz kolejny dowod na to, ze mowie prawde (IMG:style_emoticons/default/tongue.gif) Twoj kod jest wykonywany dwa razy. Potencjalne powody tego stanu juz ci podalem
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 7.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Wiec masz kolejny dowod na to, ze mowie prawde (IMG:style_emoticons/default/tongue.gif) Twoj kod jest wykonywany dwa razy. Potencjalne powody tego stanu juz ci podalem Okej, przyjmuje to do wiadomości, ale nie potrafię zrozumieć czemu akurat funkcje wpisujące coś to pliku wykonują się dwa razy. Nie jestem administratorem serwera na którym to wszystko stoi, więc nie jestem w stanie tego zweryfikować :/ Skoro nie jestem w stanie naprawić problemu to może da się go obejść? Zastanawiam się czy można jakoś usunąć duplikat z pliku tak, żeby nie używać fwrite ponownie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:43 |