Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zawijanim wierszy w plikach txt
Forum PHP.pl > Forum > PHP
zciwomurof
Witam !

zacząłem czytać książkę PHPi MySQL Tworzenie Stron WWW itd
i po przeczytaniu jakichś 80 stron natrafiłem na pierwszy problem
otóż w przykładzie podanym w książce przy próbie zapisania jakiegoś zamówienia do pliku tekstowego ok wszystko się zapisuje ale nie wiem dlaczego nowego zamówienia nie zapisuje w następnej linii tylko doczepia do poprzedniego na końcu

załączam kod

Kod
<?php
  // utworzenie krótkich nazw zmiennych
  $iloscopon = $_POST['iloscopon'];
  $iloscoleju = $_POST['iloscoleju'];
  $iloscswiec = $_POST['iloscswiec'];
  $adres = $_POST['adres'];
  $adres = $_POST['adres'];

  $DOCUMENT_ROOT = $_POST['DOCUMENT_ROOT'];
?>

<html>
<head>
  <title>Cz&ecirc;œci samochodowe Janka — wyniki zamówienia</title>
</head>
<body>
<h1>Cz&ecirc;œci samochodowe Janka</h1>
<h2>wyniki zamówienia</h2>
<?php

$data=date('H:i, jS F');

  echo '<p>Zamówienie przyj&ecirc;te o ';

  echo $data;
  echo '</p>';
  echo '<p>Zamówienie Pa&ntilde;stwa wygl&sup1;da nast&ecirc;puj&sup1;co: </p>';

  $ilosc=0;
  $ilosc=$iloscopon+$iloscoleju+$iloscswiec;

  if( $ilosc == 0 )
  {
    echo 'Na poprzedniej stronie nie zosta&sup3;o z&sup3;o&iquest;one &iquest;adne zamówienie!<br />';
  }
  else
  {
    if ( $iloscopon>0 )
      echo $iloscopon.' opon<br />';
    if ( $iloscoleju>0 )
      echo $iloscoleju.' butelek oleju<br />';
    if ( $iloscswiec>0 )
      echo $iloscswiec.' œwiec zap&sup3;onowych<br />';
  }

  $wartosc=0.00;

  define('CENAOPON', 100);
  define('CENAOLEJU', 10);
  define('CENASWIEC', 4);

  $wartosc =$iloscopon * CENAOPON + $iloscoleju * CENAOLEJU + $iloscswiec * CENASWIEC;

  $wartosc=number_format($wartosc, 2, '.', ' ');

  echo '<P>Wartoœ&aelig; zamówienia wynosi '.$wartosc.'</P>';

  echo '<P>Adres wysy&sup3;ki to '.$adres. '</P>';

  $ciagwyjsciowy = $data."\t".$iloscopon." opon \t".$iloscoleju." butelek oleju\t"
                   .$iloscswiec." swiec zap&sup3;onowych\t".$wartosc
                   ."PLN \t". $adres."<br>";

  // otwarcie pliku w celu dopisywania
@ $wp = fopen("sciezka do pliku .txt", 'ab');

  if (!$wp)
  {
    echo '<p><strong> Zamówienie Pa&ntilde;stwa nie mo&iquest;e zosta&aelig; przyj&ecirc;te w tej chwili.  '
         .'Prosz&ecirc; spróbowa&aelig; póŸniej.</strong></p></body></html>';
    exit;
  }

  fwrite($wp, $ciagwyjsciowy, strlen($ciagwyjsciowy));
  fclose($wp);

  echo '<p>Zamówienie zapisane.</p>';
?>
</body>
</html>



proszę o pomoc bo takie drobiazgi doprowadzają mnie do szału.

pozdrowionka



to jeszcze ja zeby uściślić

chciałbym żeby po otwarciu pliku txt wyglądało to tak

Kod
wiersz 1
wiersz 2


a nie tak

Kod
wiersz 1 wiersz 2
czachor
$ciąg_wyjściowy - zamień \t na \n
zciwomurof
kurcze nie działa

zrobiłem już coś takiego

Kod
$ciagwyjsciowy = 'ciag wyjsciowy'."\n";


i jak uruchomiłem skrypt dwa razy znowu zobaczyłem w pliku txt

Kod
ciag wyjsciowy ciag wyjsciowy


a chciałem żeby wyszło

Kod
ciag wyjsciowy
ciag wyjsciowy
.radex
zamień \n na \r\n
zciwomurof
radex_p już Cię lubie poszło bez problemów jeszcze tylko rozszyfruj dla mnie -> \r <- co to znaczy i będzie super smile.gif i jak możesz to wytłumasz mi dlaczego wcześniej nie chciało iść bo w książce \n znaczy niby zeby kursor przeszedł do następnej lini czy coś takiego
.luki
Na jednym systemie operacyjnym znak końca linii to \r\n (\r to powrot karetki do poczatku linii, \n to znak nowego wiersza), na innych systemach wystarcza samo \n.

Dlatego tez czasami jak na Windowsie otwierasz plik z Linuksa, to zamiast ładnego sformatowanego tekstu widzisz takie kwadraciki [].
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.