Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem ze znakiem nowej lini
Gwozdyk
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 5.01.2008

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


Czesc!
Jestem bardzo poczatkujacy w tematyce php i html. Probuje wlasnie napisac prosty serwis w ktorym mozna dodawac osoby, podajac ich imie, nazwisko, wiek, miasto, telefon oraz wyswietlac liste wszystkich dodanych osob. Osoby zapisywane sa w pliku tekstowym, kazda w nowej linii, imie, nazwisko, wiek itp oddzielone sa od siebie tabulacja.

Problem polega na tym ze nie udaje mi sie potem prawidlowo odczytac informacji z pliku. Odczytywana jest jedynie pierwsza osoba. Ogladajac plik w notatniku widac ze poszczegolne osoby sa w jednej linii, oddzielone znakiem wygladajacym jak kwadracik, w wordpadzie jest to interpretowane juz jako nowa linia.

Podejrzewam ze problem polega na tym ze serwer php nie interpretuje tego jako nowej linii tak samo jak notatnik. Jesli recznie umieszcze wpisy w nowych liniach poslugujac sie notatnikiem to skrypt dziala poprawnie.

Tak wyglada skrypt zapisujacy:
Kod
$imie=$_POST['imie'];
$nazwisko=$_POST['nazwisko'];
$miasto=$_POST['miasto'];
$wiek=$_POST['wiek'];
$telefon=$_POST['telefon'];
$plik=fopen('osoby.txt', ab);
//flock($plik, LOCK_SH);
if(!plik)
{
    echo '<p>W tej chwili nie ma mozliosci dodania nowych osob do serwisu';
    exit;
}
$ciagwejsciowy=$imie."\t".$nazwisko."\t".$wiek."\t".$miasto."\t".$telefon."\n";
fwrite($plik, $ciagwejsciowy, strlen($ciagwejsciowy));
//flock($plik, LOCK_UN);
fclose($plik);
echo '<p>Dodano nowa osobe!</p>';
echo '<p><a href=index.html>Wroc2</a></p>'



A tak odczytujacy:
Kod
<?php
$plik=fopen('osoby.txt', r);
while(!feof($plik))
{
    $osoba=fgets($plik, 999);
    echo $osoba.'<br>';
}
fclose($plik);
?>


Mam nadzieje ze mi pomozecie rozwiazac ten problem.

Ten post edytował Gwozdyk 5.01.2008, 17:17:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Jest różnica pomiędzy "/r/n" a "\r\n". Na Linuxie wystarczy "\n". Można również użyć stałej PHP_EOL i nie ma problemów z aplikacją ani na Windowsie, ani na Linuxie.
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.12.2025 - 21:17