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
 
Start new topic
Odpowiedzi
nospor
post
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
Go to the top of the page
+Quote Post
Vexis
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 1
Dołączył: 7.04.2017

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 7.04.2017, 15:07:03 ) *
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.
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 00:43