![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 30.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem poniewaz mam skrypt do edytowania pliku . I chciałbym żeby na końcu każdej linijki dawało taki kwadracik linuxa (czyli nowa linijka , linuxa) bo chcę żeby było przystosowane do linuxa. Dałem takie coś: $dane = str_replace("\n","tutajtenkwadrat\n", $dane); I daje na koncu linijki po 3 kwadraty , co zrobic zeby jeden kwadrat był? O to cały skrypt: Kod <meta name="test - blabla" http-equiv="content-type" content="text/html; charset=utf-8"/>
<?php $pole1 = trim($_POST['pole1']); $pole2 = trim($_POST['pole2']); if(empty($pole1) and empty($pole2)) { // prosty formularz zawierający dwa pola $fd = fopen("test/config.ini", "r"); $czytaj_ini = fread($fd, filesize("test/config.ini")); echo "<form action=\"\" method=\"post\"> <textarea name=\"pole2\" style=\"width: 500px; height: 500px;\">$czytaj_ini </textarea><br /> <input type=\"submit\" value=\"Zapisz\" /> </form>"; } else { // dane pochodzące z formularza $dane = $pole1."".$pole2.""; $dane = str_replace("\n"," \n", $dane); // przypisanie zmniennej $file nazwy pliku $file = "test/config.ini"; // uchwyt pliku, otwarcie do dopisania $fp = fopen($file, "w"); // blokada pliku do zapisu flock($fp, 2); // zapisanie danych do pliku fwrite($fp, $dane); // odblokowanie pliku flock($fp, 3); // zamknięcie pliku fclose($fp); echo "Dane zostały zapisane!<br />"; echo "<a href=\"panel.php?id=zobacz_mape\">Zobacz config</a>"; } ?> |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Możesz chociaż wyjaśnić o co ci tak na prawdę chodzi, bo stwierdzenie, że chcesz mieć kwadracik na końcu każdej linii jakoś mnie nie przekonuje.
"Enter" w windows składa się z 2 znaków: chr(13).chr(10) (co odpowiada również opisie "\r\n"), natomiast "enter" w linux składa się z 1 znaku chr(10) (co odpowiada właśnie znakowi "\n"). Kiedy windows napotyka sam znak \n, to wyświetla kwadracik, bez przejścia do nowej linii (w notatniku, wordpad automatycznie zamienia \n na \r\n). Dodatkowo wiele funkcji w PHP wstawia znaczki końca linii zależnie od systemu w którym pracuje PHP. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 30.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
No bo mam config do gry i chce żeby go edytować na stronie , ale na stronie nie przystosowywuje do linuxa. Chce żeby na końcu lini był enter tak jak w linuxie jest , np. wezme w kompie edytorem linuxa i jak potem notatnikiem wezme to taki kwadracik jest. Chce żeby w tym polu:
$dane = str_replace("\n","TUTAJ", $dane); był enter w systemie linux Ten post edytował Michcio_ 30.07.2008, 10:44:21 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 5 Dołączył: 13.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
$dane = str_replace("\n","TUTAJ", $dane); był enter w systemie linux To JEST znak nowej linii jak w linux. Jeśli masz plik z windowsowymi znakami nowej linii, to rób na nim:
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Konwersja entera linuksowego na windoswowy
Konwersja odwrotna
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 26 Dołączył: 29.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przecież te powyższe kody są te same(albo mi się wydaje).
Prawidłowa konwersja z M$ Windows:
Ten post edytował Xniver 31.07.2008, 01:29:58 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 30.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok, naprawiłem dałem:
$dane = $pole2; $dane = str_replace("\r\n",tutaj ten kwadrat", $dane); Dzieki za pomoc Ten post edytował Michcio_ 31.07.2008, 11:18:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:43 |