Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Jak wstawic nowy wiersz w pliku txt?
xix
post 7.11.2009, 21:20:11
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
thek
post 7.11.2009, 21:57:10
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 smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
xix
post 7.11.2009, 21:59:13
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 7.11.2009, 22:18:41
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 smile.gif W chwili obecnej zapisujesz tekst i po nim walisz nową linię, a raczej nie o to Ci chodzi winksmiley.jpg


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
xix
post 7.11.2009, 22:42:31
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 7.11.2009, 23:02:40
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 smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
xix
post 7.11.2009, 23:22:41
Post #7





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

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


smile.gif dz 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 7.11.2009, 23:28:00
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? 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" winksmiley.jpg

Ten post edytował thek 7.11.2009, 23:29:50


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 23.05.2025 - 10:59