ďťż
Podstrony
|
telcocafeWitamNapisałem bardzo prosty skrypt w .php, który po wejściu na stronę zlicza osoby odwiedzające. Tzn. ktoś wchodzi na www.mojastrona.pl/stat.php i skrypt ma za zadanie zliczać liczbę odwiedzin :). Kodzik: <?php $numer = fread(fopen("stat.txt", "r"), filesize("stat.txt")); $numer = $numer + 1; $file = "stat.txt"; $fp = fopen($file, "w"); flock($fp, 2); fwrite($fp, $numer); flock($fp, 3); fclose($fp); echo "$numer"; ?> Tylko teraz pytanie - czy to jest dobre rozwiązanie? Może można go jakoś przyśpieszyć, czy zoptymalizować? Teraz drugie pytanie, co zrobić, aby do drugiego pliku (np. stat2.txt) zapisać adresy IP odwiedzających? Czyli do pliku stat.php dopisać coś, aby adres IP odwiedzającego zapisywało w zmiennej, a następnie dodawało (nie tworzyło nowego) do pliku. Tylko co trzeba dopisać? :) Z góry dziękuję za pomoc Użyć bazy danych, zapisywać IP, referera, datę i czas - jeżeli np. IP nie ma we wpisach z ostatnich 24h. Witam Napisałem bardzo prosty skrypt w .php, który po wejściu na stronę zlicza osoby odwiedzające. Tzn. ktoś wchodzi na www.mojastrona.pl/stat.php i skrypt ma za zadanie zliczać liczbę odwiedzin :). Kodzik: <?php $numer = fread(fopen("stat.txt", "r"), filesize("stat.txt")); $numer = $numer + 1; $file = "stat.txt"; $fp = fopen($file, "w"); flock($fp, 2); fwrite($fp, $numer); flock($fp, 3); fclose($fp); echo "$numer"; ?> Tylko teraz pytanie - czy to jest dobre rozwiązanie? Może można go jakoś przyśpieszyć, czy zoptymalizować? Teraz drugie pytanie, co zrobić, aby do drugiego pliku (np. stat2.txt) zapisać adresy IP odwiedzających? Czyli do pliku stat.php dopisać coś, aby adres IP odwiedzającego zapisywało w zmiennej, a następnie dodawało (nie tworzyło nowego) do pliku. Tylko co trzeba dopisać? :) Z góry dziękuję za pomoc Zainteresuj się zmiennymi środowiskowymi. $ip=$REMOTE_ADDR; Riklaunim Użyć bazy danych... Po co? On nie zna podstaw php. Aby korzystać z MySQL trzeba znać PHP. Po co? On nie zna podstaw php. Aby korzystać z MySQL trzeba znać PHP. ja nie znając podstaw PHP wziąłem się za mySQL i mi jakoś wyszło to co chciałem:) ps. ale fakt, lepiej znać podstawy, bo inaczej wiedza ciężko wejdzie:) Ja używam takiego skryptu swojego autorstwa, bazuje on na Cookies, nie rejestruje IP, ale jak chociaż troszkę się wczytasz to sobie to dopiszesz sam. kod na stronie zliczającej odwiedziny: <? if(!($_COOKIE['counter']>0)){ setcookie('counter', time(), time()+3600*24*1); $mod_cookie_counter=1; } ?> ....zawartość strony... <!--miejsce gdzie ma być wyświetlana liczba odwiedzin:--> <?$manual_file_path_='serwis/licznik/';//oczywiście zamień na własną ścieżkę dostępu do reszty skryptu include('serwis/licznik/licznik.php');?> i plik licznik.php: <? include_once($manual_file_path_.'counter.php'); $liczba=strval($entry_c); for($count=0;$count<strlen($liczba);$count+=1){ $liczba2[$count]=$liczba[$count]; } $liczba2=array_reverse($liczba2); for($wsw=6;$wsw>=0;$wsw-=1){ if($liczba2[$wsw]=='') $liczba2[$wsw]=0; $echo.='<img border="0" height="40" src="grafika/licznik/'.$liczba2[$wsw].'.gif">'; } echo($echo); if($mod_cookie_counter==1){ $uchwyt=fopen($manual_file_path_.'counter.php',"w"); flock($uchwyt,LOCK_EX); fputs($uchwyt,'<? '); fputs($uchwyt,'$entry_c='.($entry_c+1).'; '); fputs($uchwyt,'?>'); flock($uchwyt,LOCK_UN); fclose($uchwyt); echo('<!-- Dodano licznik -->'); }else{ echo('<!-- Już głosowano -->'); } ?> W katalogu grafika/licznik/ umieść pliki graficzne *.gif (*-od 0 do 9) zawierające liczby ew wykorzystaj tę wersję pliku licznik.php wyświetlająca liczbę jako klasyczny tekst: <? include_once($manual_file_path_.'counter.php'); echo('<b><tt><font size="4">'.$entry_c.'</font></tt></b>'); if($mod_cookie_counter==1){ $uchwyt=fopen($manual_file_path_.'counter.php',"w"); flock($uchwyt,LOCK_EX); fputs($uchwyt,'<? '); fputs($uchwyt,'$entry_c='.($entry_c+1).'; '); fputs($uchwyt,'?>'); flock($uchwyt,LOCK_UN); fclose($uchwyt); echo('<!-- Dodano licznik -->'); }else{ echo('<!-- Już głosowano -->'); } ?> uwaga! przy pierwszym uruchomieniu skrypt pokaże błąd, ale nie należy się nim przejmować, tylko odświeżyć stronę, ew. w przypadku jego powtórzeń utworzyć pusty plik counter.php w katalogu z plikiem licznik.php i nadać im obu prawa 0777 co do rejestracji IP, wystarczy dopisać linijkę otwierająca plik, np. IPs.txt i dopisująca do niego wartość $_SERVER['REMOTE_ADDR'] |
|||
Sitedesign by AltusUmbrae. |