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
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


(IMG:style_emoticons/default/facepalmxd.gif) (IMG:style_emoticons/default/sciana.gif) No po co ja pisałem żebyś wysłał zawartośc pliku... no po co...

wklej tutaj: https://www.diffchecker.com/
po lewej 1sze wystąpienie array a po prawej drugie i pokaż diff wygenerowany....


Załamałeś mnie....

Zmieniłem zdanie... Wyślij wynik mi na PW bez zamazywania (no chyba że oba są dokładnie takie same)...

Ten post edytował Pyton_000 7.04.2017, 14:17:46
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(Pyton_000 @ 7.04.2017, 15:14:29 ) *
(IMG:style_emoticons/default/facepalmxd.gif) (IMG:style_emoticons/default/sciana.gif) No po co ja pisałem żebyś wysłał zawartośc pliku... no po co...

wklej tutaj: https://www.diffchecker.com/
po lewej 1sze wystąpienie array a po prawej drugie i pokaż diff wygenerowany....


Załamałeś mnie....

Zmieniłem zdanie... Wyślij wynik mi na PW bez zamazywania (no chyba że oba są dokładnie takie same)...


Wybacz, myślałem, że interesują Cię informacje a nie to czy jest zdublowane. Wpis jest podwójny, identyczny, tak jak wcześniej. Nie ma powodu to wściekania się, serio...

Cytat(viking @ 7.04.2017, 15:14:36 ) *
Pokaz adres jesli jest publicznie dostepny.


Niestety nie mam jak, całość stoi na testowym serwerze firmowym bez dostępu z zewnątrz w tym przypadku :/

Edit:
Sprawdziłem na prywatnym serwerze i wszystko działa prawidłowo, bez dublowania. Także macie w pełni racje - wina leży po stronie serwera firmowego. Ktoś ma może pomysł gdzie dokładnie szukać przyczyny? Nie jestem administratorem tamtego serwera, więc potrzebuje punktu zaczepienia, żeby wskazać adminowi.

Ten post edytował Vexis 8.04.2017, 07:17:01
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: 7.10.2025 - 13:43