Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Generowanie logów
Forum PHP.pl > Forum > Przedszkole
php__amator
Witam serdecznie,
Pilna sprawa, chciałbym zrobić zapis logowania w postaci logu.
Generalnie wszystko działa ale ...
chciałbym aby kolejne wpisy były robione w kolejnych liniach a nie cięgiem wpois za wpisem wpis za wpisem wpis za wpisem
bo robi sie z tego szlaczek
a chciałbym aby wyglądało to:
dzien, godzina, user
dzien, godzina, user
dzien, godzina, user
...
itd
Czyli jak spowodowac zeby kolejny wpis byl umieszczany o linię wyżej lub niżej w zalezności od potrzeb.

PILNE
pozdrawiam
phpamator
sadistic_son
Trochę mało precyzyjnie zadałeś to pytanie. Zapisujesz to do pliku czy co? Dodaj znak końca linii po każdym logu i już: \n.
php__amator
Hej,
Już rozjaśniam smile.gif
Zapisuję do logu dwie zmienne, czas i username ale ponieważ nie spotkałem się wcześniej z
zapisywaniem do pliku tekstowego ( nigdy tego nie wykorzystywałem) toteż nie wiem gdzie i jaki znak umieścić, żeby mi przechodził do kolejnej linii i już mniejsza o to czy do wyższej czy niższej smile.gif

  1. $ses_name = $_POST['username'];
  2. $file = "log.txt";
  3. $fp = fopen($file, "r+");
  4. $ses_name=$ses_name.fread($fp, filesize($file));
  5. rewind($fp);
  6. flock($fp, 2);
  7. fwrite($fp," | ".$date." - ");
  8. fwrite($fp, $ses_name." ");
  9. flock($fp, 3);
  10. fclose($fp);


i teraz mając taką formę gdzie mam umieścić znak końca linii (\n) ?
Pozdrawiam
cycofiasz
Niepotrzebnie się męczysz z odczytywaniem zawartości pliku, wystarczy skorzystać z możliwości które udostępnia php

  1. $ses_name = $_POST['username'];
  2. $file = "log.txt";
  3. $fp = fopen($file, "a");
  4. fwrite($fp,$date." - ".$ses_name."\r\n");
  5. fclose($fp);


Pisane z palca ale powinno chyba zadziałać
php__amator
Sprawdzam smile.gif


YY ciągle to samo
  1.  
  2. fwrite($fp," | ".$date." - ".$ses_name."\r\n");
  3.  


w wyniku czego dostaje tylko dopisek na koncu linii zamiast w nastepnej
ale juz chyba wiem o co kaman


No fantastycznie, działa jak należy.

  1. $ses_name = $_POST['username'];
  2. $file = "log.txt";
  3. $fp = fopen($file, "a");
  4. flock($fp, 2);
  5. fwrite($fp, $date." - ".$ses_name." | "."\r\n");
  6. flock($fp, 3);
  7. fclose($fp);


Dziekuje
pozdrawiam
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.