Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Jak wstawic nowy wiersz w pliku txt?
xix
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 14.11.2008

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


Jak wstawic nowy wiersz w pliku txt?
Ponizsze rozwiazania nie dzialaja i nie wiem jakim cudem...

  1. $costam="cokolwiek";
  2. fwrite(..., $costam."\n");

  1. $costam="cokolwiek\n";
  2. fwrite(..., $costam);


Ten post edytował xix 7.11.2009, 21:21:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A chociaż otwierasz Ty plik funkcją fopen by móc do pliku zapisywać. Ewentualnie w jakim trybie go otwierasz. Sprawdź sobie co Ci wywala funkcja fwrite. Jeśli cokolwiek innego niż liczba to masz byka. Bo zerknij do manuala i zauważ, że w razie błedu zwraca ona false a w razie prawidłowego działania liczbę wpisanych bajtów. Kontroluj co robi skrypt (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
xix
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 14.11.2008

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


Zmienna $costam zapisuje sie prawidlowo.
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




\n przed tekstem... Nie po (IMG:style_emoticons/default/smile.gif) W chwili obecnej zapisujesz tekst i po nim walisz nową linię, a raczej nie o to Ci chodzi (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
xix
post
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 14.11.2008

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


  1. $costam="cokolwiek1";
  2. fwrite(...,"\n".$costam.);

Wynik: cokolwiek1 cokolwiek1 cokolwiek1 cokolwiek1


  1. $costam="\n"."cokolwiek2";
  2. fwrite(...,$costam.);

Wynik: cokolwiek2 cokolwiek2 cokolwiek2 cokolwiek2


Powyzsze sposoby rowniez nie dzialaja. cokolwiek1 i cokolwiek2 pojawiaja sie prawidlowo, ale za kazdym razem obok siebie wraz ze spacja (sic!) nie wiadomo skad.

Ten post edytował xix 7.11.2009, 22:43:34
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




System operacyjny jeszcze gra rolę... UNIX i Windows inaczej interpretują koniec linii
W jednym wystarcza \n ale w innym musi już być \r\n lub \n\r... Nie pamiętam kolejności (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
xix
post
Post #7





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 14.11.2008

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


(IMG:style_emoticons/default/smile.gif) dz (IMG:style_emoticons/default/smile.gif)
Brakowalo \r
Prawidlowo dla windows: \r\n

Ale jeszcze jedno mam pytanie - skad ta spacja?

Ten post edytował xix 7.11.2009, 23:23:55
Go to the top of the page
+Quote Post
thek
post
Post #8





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To akurat jedna z różnic o której powinni pamiętać programiści by kod był przenośny między systemami. W swoim życiu jeszcze się nauczysz, że od systemu wiele zależy. Windows jest niestety IMHO zbyt "leniwy" i pozwala na zbyt dużo. UNIX-y i Linuxy są bardziej restrykcyjne i szybko się o tym przekonasz. Jedną różnicę już znasz... Ciekawe kiedy natkniesz się na następne? (IMG:style_emoticons/default/biggrin.gif)
A spacja wynika stąd, że pojedyncze \n jest znakiem pustym, którego Windows nie rozpoznaje w pełni prawidłowo. Stąd uznaje go za spację lub "niedorobiony tabulator" (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował thek 7.11.2009, 23:29:50
Go to the top of the page
+Quote Post

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: 25.08.2025 - 13:21