Witam, php jak narazie tylko liznąłem i będzie to widać po skrypcie (IMG:
http://forum.php.pl/style_emoticons/default/biggrin.gif)
Ma on służyć do robienia statystyk dla każdej podstrony, oraz zliczać ilość odwiedzin z każdej strony
skrypt musi operować na plikach (IMG:
http://forum.php.pl/style_emoticons/default/biggrin.gif)
prosze o krytykę, tylko błagam nie śmiać się, wiem że tu wszystko będzie do krytykowania,
ale jednoczesnie proszę o uwagi, jak coś można zrobić szybciej lepiej (w sumie już mam pomysł na dużo krótszy i szybszy skrypt), bo napewno pomoze mi to w nauce
<?php
function FunMeter ()
{
if (!(file_exists('MetersFile/visits/')))//tworzy katalog na pliki ze statystykami mkdir ('MetersFile/visits/', 0700
); $file=($_SERVER['PHP_SELF']);//pobieram nazwe strony (pliku php) - plik z liczba odwiedzin nazywa się tak samo
$name=substr($file,$begin,$end-$begin); if (!(file_exists('MetersFile/visits/'.$name.'.txt')))//tworzenie plików na statytyki {
$file = fopen ('MetersFile/visits/'.$name.'.txt', 'w+'); }
$file = fopen ('MetersFile/visits/'.$name.'.txt', 'r+'); if ($file)//odczytywanie i uaktualnianie statystyk
{
$visits = fgets($file, 20
); $visits++;
}
return $visits;//zwraca tablicę w celu późniejszego odczytania na stronie
}
function CatchIP ()
{
if (!(file_exists('MetersFile/ip/')))//tworzy katalog na pliki ze statystykami mkdir ('MetersFile/ip/', 0700
); $ip = $_SERVER['REMOTE_ADDR'];
$file=($_SERVER['PHP_SELF']);//pobieram nazwe strony (pliku php) - plik z liczba odwiedzin nazywa się tak samo
$name=substr($file,$begin,$end-$begin); if (!(file_exists('MetersFile/ip/'.$name.'IP.txt')))//tworzenie plików na statytyki {
$file = fopen ('MetersFile/ip/'.$name.'IP.txt', 'w+'); }
$file = fopen ('MetersFile/ip/'.$name.'IP.txt', 'r'); $i = 0;
if ($file)//odczyt i aktualizacja pliku
{
while(!feof($file))//zapis z pliku do tablicy, i zwiększenie liczby odwidzin dla konkretnej strony {
$ip_count = fgets($file, 20
); $ip_addr[$data[0
]] = trim($data[1
]); }
$ip_addr[$ip]++;
if(in_array($ip, $klucze))//nadpisanie zaktualizowanych informacji {
$file = fopen ('MetersFile/ip/'.$name.'IP.txt', 'w+'); for($x=0
,$n=count($klucze);$x<$n;$x++) if($klucze[$x])
fputs($file, $klucze[$x].':'.$ip_addr[$klucze[$x]]."rn"); }
else
{$file = fopen ('MetersFile/ip/'.$name.'IP.txt', 'a'); fputs($file, $ip.':1'."rn");} }
return $ip_addr;//zwraca tablicę w celu późniejszego odczytania na stronie
}
?>
całość razem z funkcjami odczytującymi można pobrać
http://www.pawel-ryznar.yoyo.pl/Projekty/php/Visionsave.zipPozdrawiam