Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyświetlanie z pliku txt, kolejność wyświetlania z pliku txt
omen
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.06.2003

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


Cześć   (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Napisałem sobie taki mały skrypcik który zapisuje informacje o odwiedzającym

  1. <?
  2. $odwiedzajacy=$user->user ();
  3. $dane=&#092;"$odwiedzajacy || \";
  4. $file=&#092;"LOG.txt\";
  5. $fp=fopen(&#092;"$file\", \"a\");
  6. flock($fp, 2);
  7. fwrite($fp, $dane.date(&#092;"d.m.Y  [G:i:s]\").\" || \". $_SERVER [ \"REMOTE_ADDR\" ] .\" ||\");
  8. flock($fp, 3);
  9. fclose($fp);
  10. ?>


oraz skrypt wyświetlający wszystko z pliku LOG.txt

  1. <?php
  2.  
  3.  $file=fopen(&#092;"LOG.txt\", \"r\");
  4.  flock($file, 1);
  5.  
  6.  while(!feof($file))
  7.  {
  8. $tytul=chop(fgets($file, 10000));
  9. $data=chop(fgets($file, 10000));
  10. $ip=chop(fgets($file, 10000));
  11.  
  12. if($tytul)
  13. {
  14.  ?>
  15.  <tr>
  16.  <td class=\"cell2\" bgColor=#222222 width=\"58\">
  17.  <span style=\"font-weight: 400\">
  18.  <font color=\"#849D40\"><? echo(&#092;"$tytul\"); ?></font></span></td>
  19.  <td class=\"cell2\" bgColor=#222222 width=\"155\">
  20.  <p style=\"text-align: left\"><span style=\"font-weight: 400\">
  21.  <font color=\"#849D40\"><? echo(&#092;"$data\"); ?></font></span></td>
  22.  <td class=\"cell2\" bgColor=#222222 width=\"111\">
  23.  <p style=\"text-align: left\"><span style=\"font-weight: 400\">
  24.  <font color=\"#849D40\"><? echo(&#092;"$ip\"); ?></font></span></td>
  25.  </tr>
  26. <?php
  27.  
  28.  }
  29.  }
  30.  flock($file, 3);
  31.  fclose($file);
  32. ?>


Wszystko ładnie działa tylko podczas wyświetlania z pliku LOG.txt
najnowsze wpisy są na końcu, a chciałbym żeby były na samym początku tabelki.

Czy ktoś mógłby mi pomoc jak to zrobić


Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Użyj file(), przesortuj odwrotnie tablicę i dopiero wtedy wyświetlaj.
Drugi sposób to zapisywanie najnoszych na początku: użyj rewind().
Go to the top of the page
+Quote Post
omen
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.06.2003

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


Zrobiłem tak jak radziłeś i nadal nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) nowe wpisy do pliku są dodawane na końcu dokumentu.

  1. <?
  2. $odwiedzajacy=$user->user ();
  3. $dane=&#092;"$odwiedzajacy
  4. &#092;";
  5. $file=&#092;"include/LOG.txt\";
  6. $fp=fopen(&#092;"$file\", \"a\");
  7. rewind($fp);
  8. flock($fp, 2);
  9. fwrite($fp, $dane.date(&#092;"d.m.Y  [G:i:s]\").\"
  10. &#092;". $_SERVER [ \"REMOTE_ADDR\" ] .\"
  11. &#092;");
  12. flock($fp, 3);
  13. fclose($fp);
  14. ?>



    (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)   HELP


Dopisek I: fseek($fp, 0);  też ne działa   (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif)

Dopisek II:   (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)

Problem rozwiązany uffffff   (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

  1. <?
  2. $plik=fopen(&#092;"LOG.txt\",\"r\"); 
  3. while(!feof($plik)) 
  4. {
  5. rewind($fp);
  6. $old=fgetc($plik); 
  7. $dane_z_old.=$old; 
  8. } 
  9. fclose($plik);
  10. $odwiedzajacy=$user->user ();
  11. $dane=&#092;"$odwiedzajacy
  12. &#092;";
  13. $file=&#092;"LOG.txt\";
  14. $fp=fopen(&#092;"$file\", \"r+\");
  15. rewind($fp);
  16. flock($fp, 2);
  17. fwrite($fp, $dane.date(&#092;"d.m.Y  [G:i:s]\").\"
  18. &#092;". $_SERVER [ \"REMOTE_ADDR\" ] .\"
  19. &#092;".$dane_z_old);
  20. flock($fp, 3);
  21. fclose($fp);
  22. ?>


thnx for help kszychu  (IMG:http://forum.php.pl/style_emoticons/default/party.gif)


pozdrawiam

Ten post edytował omen 28.12.2004, 20:40:24
Go to the top of the page
+Quote Post
tiraeth
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


kszychowi chodziło o array_reverse" title="Zobacz w manualu PHP" target="_manual, tak?

użyj array_reverse na tablicy z wpisami (po odebraniu przez file) i odwróci Ci wszystkie wpisy, czyli będą uporządkowane chronologicznie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 23:00