Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak wyświetlić wszystkie ip, które aktualnie są na stronie
Forum PHP.pl > Forum > Przedszkole
ignas1987
Hej, dawno się o nic nie pytałem. Więc pytam, jak wyświetlić nr wszystkich IP, które są obecnie na stronie.

P.S.
naprowadzajcie mnie ;P nie chce gotowego skryptu ;P chce się nauczyć a nie kopiować winksmiley.jpg kopiować każdy umie
peter13135
no więc

zapis do pliku - file_put_contents('plik.txt', 'zawartosc ktora ma byc zapisana');

odczyt z pliku - file_get_contents('plik.txt');
adres ip - $_SERVER['REMOTE_ADDR'];
ignas1987
sory... peter13135 ... ale mnie bardziej chodziło... jak np. skasować dany nr IP jeżeli go już nie ma... Zapisywać i otwierać potrafie, IP też sobie wyświetle... ;P Aż tak początkującym nie jestem. Ale dzięki że odpisałeś winksmiley.jpg

Tak sie zastanawiam czy tego skryptu nie da rady przerobić żeby z pliku online.txt wyciągał tylko IP

  1. <?php
  2.  
  3.         $plik = "online.txt"; # Adres pliku txt z hmod 666
  4.             $czas = 200; # CZAS ONLINE (zalecany 200sek.)
  5.                 $t = time();
  6.             $ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];    
  7.         $u = explode("\n", str_replace("r", "", @join("", @file($plik))));
  8.         foreach($u as $i => $v) {
  9.             $e = explode("|", $v);
  10.             if($e[0] == $ip || $e[1] < $t) unset($u[$i]);
  11.         }
  12.         $u[] = $ip . "|" . ($t + $czas);
  13.         $fp = fopen($plik, "w");
  14.             flock($fp, 2);
  15.                 fputs($fp, join("\n", $u));
  16.             flock($fp, 3);
  17.         fclose($fp);
  18.  
  19.         echo 'Gości On-Line: '.count($u);
  20.  
  21.    ?>
Spawnm
zrób lepiej na bazie mysqla

ip,agent,czas

i jak ktoś odwiedza strone to robisz odpala metode usuwającą wpisy gdzie data nie aktualizowana od np 5minut
ignas1987
Pokombinowałem z tym skryptem i sie udało. Dla tych którzy by szukali takiego skryptu.
  1. <?php
  2.  
  3.         $plik = "online.txt"; # Adres pliku txt z hmod 666
  4.             $czas = 200; # CZAS ONLINE (zalecany 200sek.)
  5.                 $t = time();
  6.             $ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];    
  7.         $u = explode("\n", str_replace("r", "", @join("", @file($plik))));
  8.         foreach($u as $i => $v) {
  9.             $e = explode("|", $v);
  10.             echo("$e[0]
  11.             ");
  12.             if($e[0] == $ip || $e[1] < $t) unset($u[$i]);
  13.         }
  14.         $u[] = $ip . "|" . ($t + $czas);
  15.         $fp = fopen($plik, "w");
  16.             flock($fp, 2);
  17.                 fputs($fp, join("\n", $u));
  18.             flock($fp, 3);
  19.         fclose($fp);
  20.  
  21.         echo '<br>Gości On-Line: '.count($u);
  22.  
  23.    ?>


P.S. Może sposób mało estetyczny... ale działa ;P
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.