Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Separator danych dopisywanych do pliku
Forum PHP.pl > Forum > Przedszkole
plmorpheus
witam,

mam kod
Kod
<?

$tekst = $_POST['tekst'];
$plik = "file.txt";

if (!$plik)    {
    echo "Brak pliku do zapisania";
    }
    else
    echo "Sprawdzanie obecności pliku zakończone powodzeniem, dopisywanie do pliku...<BR>";
if (!$tekst)    {
    echo "Nie wpisano żadnego tekstu - nie ma nic dododania<BR>";
    }
    else

$fp = fopen ($plik, "a");
flock ($fp, 2);
fwrite ($fp, $tekst);
flock ($fp, 3);
fclose ($fp);
echo "Dopisywanie zakończone sukcesem. Dane zostały dopisane do pliku "."$plik";
?>


Jak widać, plik przechwytuje tekst wpisany w formularzu (z pola o nazwie tekst) i dpisuje do pliku. Jednak dane te zapisują się jedna po drugiej, bez żadnych separatorów.
Pytanie: co trzeba zrobić, aby każda z dopisywanych porcji danych była dopisywana w nowej linijce a na końcu każdzej znajdował się np. średnik?
qrees
Przykładowo dopisać do pliku nową linię i średnik...
Kod
<?
  
   $tekst = $_POST['tekst'];
   $plik = "file.txt";
  
   if (!$plik)    {
       echo "Brak pliku do zapisania";
       }
       else
       echo "Sprawdzanie obecności pliku zakończone powodzeniem, dopisywanie do pliku...<BR>";
   if (!$tekst)    {
       echo "Nie wpisano żadnego tekstu - nie ma nic dododania<BR>";
       }
       else
  
   $fp = fopen ($plik, "a");
   flock ($fp, 2);
   fwrite ($fp, $tekst);
   fwrite ($fp, ";\n");
   flock ($fp, 3);
   fclose ($fp);
   echo "Dopisywanie zakończone sukcesem. Dane zostały dopisane do pliku "."$plik";
   ?>
plmorpheus
Heh czasami najprostsze sposoby są najtrudniejsze do wydedukowania biggrin.gif
Tylko pytanie bo teraz nie jestem pewien - jak się robi podgląd pliku w notatniku, to średnik się owszem pojawia, ale zamiast przeniesienia do następnej linii pojawia się taki fajny kwadracik biggrin.gif i teraz nie pamiętam, czy jest to wina notatnika czy coś jeszcze trzeba dopisać...
Maxik
  1. <?php
  2. tekst = $_POST['tekst'];
  3.  $plik = "file.txt";
  4.  
  5.  if (!$plik) {
  6.  echo "Brak pliku do zapisania";
  7.  }
  8.  else
  9.  echo "Sprawdzanie obecności pliku zakończone powodzeniem, dopisywanie do pliku...<BR>";
  10.  if (!$tekst) {
  11.  echo "Nie wpisano żadnego tekstu - nie ma nic dododania<BR>";
  12.  }
  13.  else
  14.  
  15.  $fp = fopen ($plik, "a");
  16.  flock ($fp, 2);
  17.  fwrite ($fp, $tekst);
  18.  fwrite ($fp, ";r\n");
  19.  flock ($fp, 3);
  20.  fclose ($fp);
  21.  echo "Dopisywanie zakończone sukcesem. Dane zostały dopisane do pliku "."$plik";
  22. ?>


Spróbuj tak.
dehaes
Zeby skrypt przechodzil do nowej lini na koncu potrzebne jest oznaczenie "\r\n"

Dzialajacy kod:

  1. <?
  2.  
  3. $tekst = $_POST['tekst'];
  4. $plik = "file.txt";
  5.  
  6. if (!$plik) {
  7. echo "Brak pliku do zapisania";
  8. }
  9. else
  10. echo "Sprawdzanie obecności pliku zakończone powodzeniem, dopisywanie do pliku...<BR>";
  11. if (!$tekst) {
  12. echo "Nie wpisano żadnego tekstu - nie ma nic dododania<BR>";
  13. }
  14. else
  15.  
  16. $fp = fopen ($plik, "a");
  17. flock ($fp, 2);
  18. fwrite ($fp, "$tekstr\n");
  19. flock ($fp, 3);
  20. fclose ($fp);
  21. echo "Dopisywanie zakończone sukcesem. Dane zostały dopisane do pliku "."$plik";
  22. ?>


A jesli chcesz srednik na koncu po prostu dopisz go przed \r\n winksmiley.jpg Pozdro.
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.