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:
... ... //file_put_contents($sciezka, 'testowy string'.PHP_EOL, FILE_APPEND | LOCK_EX); ...
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ł?