![]() |
![]() |
![]()
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 Ktoś ma może pomysł gdzie dokładnie szukać przyczyny? Nie jestem administratorem tamtego serwera, więc potrzebuje punktu zaczepienia, żeby wskazać adminowi. Podalem ci jedna z przyczyn
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 7.04.2017 Ostrzeżenie: (0%) ![]() ![]() |
Podalem ci jedna z przyczyn "mod rewrite " - widziałem i dziękuje za pomoc. W poniedziałek spróbuje coś w tym kierunku wskórać. Czy przychodzą Ci do głowy jeszcze inne możliwości? ////// Dowiedziałem się, że podwójne wykonywanie kodu w miejscu w którym pisałem swój kod (rozszerzenie klasy) jest jak najbardziej prawidłową i pożądaną funkcjonalnością w związku z czym udało mi się obejść problem w sposób bardzo nieelegancji, aczkolwiek dla moich potrzeb skuteczny.
W związku z powyższym dziękuje za pomoc i proszę o zamknięcie tematu. Ten post edytował Vexis 13.04.2017, 06:06:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 13:56 |