Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak wstawic nowy wiersz w pliku txt?
Forum PHP.pl > Forum > Przedszkole
xix
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);
thek
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
xix
Zmienna $costam zapisuje sie prawidlowo.
thek
\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
xix
  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.
thek
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
xix
smile.gif dz smile.gif
Brakowalo \r
Prawidlowo dla windows: \r\n

Ale jeszcze jedno mam pytanie - skad ta spacja?
thek
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.