Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podwójnie wpisywane dane w fputs()
Vexis
post
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:

  1. ...
  2. $plik = fopen($sciezka, "a");
  3.  
  4. ...
  5.  
  6. fputs($plik, $faktura);
  7. fclose($plik);
  8. //file_put_contents($sciezka, 'testowy string'.PHP_EOL, FILE_APPEND | LOCK_EX);
  9. ...


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
Go to the top of the page
+Quote Post

Posty w temacie
- Vexis   Podwójnie wpisywane dane w fputs()   7.04.2017, 12:51:23
- - nospor   CytatJak jestem na końcu pliku i próbuje coś wpisa...   7.04.2017, 12:58:26
|- - Vexis   Cytat(nospor @ 7.04.2017, 13:58:26 ) ...   7.04.2017, 13:07:49
- - nospor   Zrozum, alerta widzisz raz, bo to masz jako glowne...   7.04.2017, 13:10:13
- - Vexis   No właśnie chcę zrozumieć, ale chyba mi coś nie id...   7.04.2017, 13:16:46
- - Pyton_000   To teraz dodaj sobie Kodfile_put_contents(...   7.04.2017, 13:30:57
|- - Vexis   Cytat(Pyton_000 @ 7.04.2017, 14:30:57...   7.04.2017, 13:34:23
- - Pyton_000   To teraz potrenj czytanie ze zrozumieniem...   7.04.2017, 13:35:52
|- - Vexis   Cytat(Pyton_000 @ 7.04.2017, 14:35:52...   7.04.2017, 13:46:05
- - Pyton_000   No i co, dodało się raz... to teraz w tym twoim: ...   7.04.2017, 13:50:08
|- - Vexis   Cytat(Pyton_000 @ 7.04.2017, 14:50:08...   7.04.2017, 14:06:03
- - nospor   CytatDodało się dwa razy tylko ja skopiowałem jede...   7.04.2017, 14:07:03
|- - Vexis   Cytat(nospor @ 7.04.2017, 15:07:03 ) ...   7.04.2017, 14:10:47
- - Pyton_000   No po co ja pisałem żebyś wysłał zawartośc pliku.....   7.04.2017, 14:14:29
|- - Vexis   Cytat(Pyton_000 @ 7.04.2017, 15:14:29...   8.04.2017, 06:10:48
- - viking   Pokaz adres jesli jest publicznie dostepny.   7.04.2017, 14:14:36
- - nospor   CytatKtoś ma może pomysł gdzie dokładnie szukać pr...   8.04.2017, 10:39:53
|- - Vexis   Cytat(nospor @ 8.04.2017, 11:39:53 ) ...   13.04.2017, 06:05:10
- - Pyton_000   Po prostu zajebiste rozwiązanie.... Palce lizać......   13.04.2017, 11:34:38
- - Vexis   Poradziłem sobie tak jak na tę chwile potrafię. Ni...   13.04.2017, 12:36:34


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:58