Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> proste pytanie o fwrite, fwrite generuje krzaki ?
devint
post 9.12.2005, 14:08:56
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


Hej

Przejrzalem 3 strony wynikow i nie natknalem sie wiec pytam

Zapisuje do pliku linijki tekstu i na koncu jest znak nowej linii \n

Gdy wyswietlam/edytuje zapisany plik w Notatniku w miejscu gdzie teoretycznie konczy sie linia stoi krzaczek (taki maly kwadracik) a tekst jest ciagly (jakby w jednej linii)

Natomiast jak wrzuce plik do edytora/edytorow html krzaczkow nie ma a tekst jest w kolejnych liniach - tak jak powinien

Podobnie jak klikne F3 w totalcommanderze to jest w nowych liniach.


1)Czy ktos sie z tym spotkal?
2)Czy to w czyms przeszkadza?
3)Czy to wygeneruje jakies bledy w przyszlosci jesli zapisywany plik bedzie typu .php lub .html?
4)Czy mozna temu zaradzic?
5)Czy po prostu olac i nie panikowac wiecej:) ?

pozdr
Go to the top of the page
+Quote Post
ennics
post 9.12.2005, 14:10:51
Post #2





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


pod windows koniec wiersza to zwykle \r\n lub \r (WordPad)

przeszkadza np. w importowaniu bądź eksportowaniu danych z bazy
do plików płaskich (np. csv), lepiej mieć kontorlę smile.gif

Ten post edytował ennics 9.12.2005, 14:12:01


--------------------
Go to the top of the page
+Quote Post
devint
post 9.12.2005, 14:19:14
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


no fajnie to wiemy ze krzaki sa beeee jeszcze potrzeba jakiegos rozwiazania

tak na prawde nie zalezy mi na notatniku, ale na tym czy plik .html lub .php bedzie wadliwie funkcjonowal (zle wyswietlal sie) czy nie.

Bo jesli problem jest tylko w notatniku to nie jest to problem

ale jesli problem jest w W3C Validation Service (XHTML 1.0 Transitional) to jest to problem sad.gif

Jak to obejsc/wyeliminowac ?
Go to the top of the page
+Quote Post
ennics
post 9.12.2005, 14:27:28
Post #4





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


najprościej ?

  1. <?php
  2.  
  3. if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
  4. $end_of_line = 'rn';
  5. } else {
  6. $end_of_line = 'n';
  7. }
  8. //...
  9. fwrite($fh, $string . $end_of_line);
  10.  
  11. ?>


--------------------
Go to the top of the page
+Quote Post
devint
post 9.12.2005, 15:48:56
Post #5





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


Niestety to rozwiazanie nie dziala

testuje to tak:

  1. <?php
  2.  
  3. if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
  4. $end_of_line = ' rn';
  5. } else {
  6. $end_of_line = ' n';
  7. }
  8.  
  9. $somecontent = "Add this to the file 111"."$end_of_line";
  10. $somecontent2 = "Add this to the file 222";
  11.  
  12. if (fwrite($handle, $somecontent) === FALSE) {
  13. echo "Cannot write to file ($filename)";
  14. }
  15. if (fwrite($handle, $somecontent2 . $end_of_line) === FALSE) {
  16. echo "Cannot write to file ($filename)";
  17. }
  18.  
  19. ?>


zapisuje wszystko ale w jednej linni a znaki \r\n traktuje jako tekst wynik jest taki:
Kod
wczesniejszy text   Add this to the file 111 \r\nAdd this to the file 222 \r\n  nastepne wpisy


Potrzebny inny pomysl sad.gif
Go to the top of the page
+Quote Post
mike
post 9.12.2005, 15:53:09
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Znaki typu \r\n muszą znajdować się w cudzysłowach a nie w apostrofach.
Go to the top of the page
+Quote Post
devint
post 9.12.2005, 16:00:07
Post #7





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


mike_mech ma racje

po poprawieniu na cudzyslowy oba zapisy workuja jak trzeba, bez krzaczkow w notatniku i z liniami jak trzeba, jesli ktos sie na to natknie, to powyzej jest rozwiazanie

dzieki
Go to the top of the page
+Quote Post
dr_bonzo
post 9.12.2005, 16:09:16
Post #8





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
tak na prawde nie zalezy mi na notatniku, ale na tym czy plik .html lub .php bedzie wadliwie funkcjonowal (zle wyswietlal sie) czy nie.

No pewnie ze bedzie dzialac -- przeciez wiekszosc serwisow stoi na unixach, unixy uzywaja "\n" i serwisy dzialaja.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Vengeance
post 9.12.2005, 19:08:09
Post #9





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


ale macie problemy dziwne.... :]

devint: z pod php stosuj tylko "\n" i olej to że pod Windows w notatniku tekst ma kszaki i jest ciągły. To nic nie znaczy. Strona wyświetli się poprawnie.... a jeśli chcesz obejrzeć taki plik normalnie, to np. dla WordPad wystarczy ów same \n i będzie łamał linie. Po prostu notatnik jest upośledzony ;p

I nie ma sensu jaka kolwiek zmiana \n na \r\n czy jeszcze cos innego


--------------------
Go to the top of the page
+Quote Post
ennics
post 9.12.2005, 20:23:36
Post #10





Grupa: Zarejestrowani
Postów: 312
Pomógł: 0
Dołączył: 29.12.2004

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


Cytat
ale macie problemy dziwne.... :]


Vengeance, przyszłość kreuje się w innych barwach. Może to Ci rozjaśni:

MONAD
Microsoft's Monad: Nuclear Arsenal for Shell Scripting
Windows Vista


--------------------
Go to the top of the page
+Quote Post
devint
post 9.12.2005, 20:46:40
Post #11





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


Cytat
devint: z pod php stosuj tylko "\n" i olej to że pod Windows w notatniku tekst ma kszaki i jest ciągły. To nic nie znaczy. Strona wyświetli się poprawnie.... a jeśli chcesz obejrzeć taki plik normalnie, to np. dla WordPad wystarczy ów same \n i będzie łamał linie. Po prostu notatnik jest upośledzony ;p


wiesz dzis Ty mi mowisz ze notatnik jest uposledzony a jutro ktos kto placi za to rozwiazanie powie mi "no ale w notatniku sa jakies krzaki, ja tego nie chce"

tak sobie mysle ze jak juz robic cos to dobrze i tyle, jesli mozna jakos zaradzic i to w prosty sposob to trzeba zaradzic i juz...

pozdr
Go to the top of the page
+Quote Post
Vengeance
post 10.12.2005, 11:44:42
Post #12





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

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


devint: Hmm... w pewnym sensie masz racje, ale ja gdy pisałem tę wypowiedź pewien byłem że ów pliki .txt służą ci jedynie jako miejsce przechowywania jakiś danych. W tym momencie ktoś kto kupi ten skrypt także nie powinien w te pliki zaglądać. Do takich zmian powinieneś dostarczyć odpowiedni panelik administratorski. A jemu już bez roznicy czy notatnik pod Win dobrze to wyswietli czy nie.


--------------------
Go to the top of the page
+Quote Post
devint
post 10.12.2005, 14:05:59
Post #13





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 16.05.2005

Ostrzeżenie: (10%)
X----


Cytat
Do takich zmian powinieneś dostarczyć odpowiedni panelik administratorski. A jemu już bez roznicy czy notatnik pod Win dobrze to wyswietli czy nie.


No i wlasnie na potwierdzenie tego wysypalem sie gdzies dalej w skrypcie i niestety musi byc z krzaczkami bo juz nie chce mi sie kombinowac (czas to pieniadz).
Czasem bardziej oplaca sie uruchomic swoje marketing skills niz zaglebiac sie w bardziej wyrafinowane aspekty techniczne. biggrin.gif

pozdr
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: 27.06.2025 - 17:09