Aeon88
23-08-2011, 13:00
Witam,
Napewno jest tu wielu guru programistycznych i osób używających bardziej rozbudowanych rozwiązań ale pozostali nie używają niczego bo nie wiedzą jak lub nie mają na to czasu.
Napisałem dla siebie mały skrypt który odczytuje informacje o wejściach na moją stronę www czyli datę i godzinę, adres IP odwiedzającego, i co dla mnie najważniejsze - adres strony www z której internauta wszedł na moją stronę dzięki czemu mając reklamy w kilku serwisach www wiem z którego częściej a z którego rzadziej wchodzą pary młode. Skrypt wysyła te informacje na maila automatycznie co x wejść na stronę (ja ustawiłem co 5 wejść, wy możecie inaczej). Jest to o tyle dobre że nie wymaga żadnej rejestracji w żadnym portalu, dodaje sie tylko skrypt na stronie swojej i od tej pory sprawdzając pocztę widzicie maile z informacją skąd wchodzono na Waszą stronę i ile razy.
Oto kod źródłowy tego skryptu w PHP:
<!-- początek skryptu statystyk -->
<?php
// SKRYPT NAPISANY PRZEZ ADRIANA KRASKA
// POTRZEBUJESZ GO PRZEBUDOWAĆ? SKONTAKTUJ SIĘ: KONTAKT[AT]ADRIANKRASKA.PL
// odczytywanie informacji o odwiedzającym i pobieranie jego IP
$link = $_SERVER[HTTP_REFERER];
$ip = $_SERVER[REMOTE_ADDR];
$data = date("d-m-Y");
$czas = date("H:i");
// jeśli ktoś wpisał adres waszej strony ręcznie do przeglądarki to wartość link będzie pusta
// wartość 'dane' to informacja która zostanie dodana do pliku a potem wysłana mailem, zawiera ona czas wejścia, IP oraz link do strony z której bylo wejście na Waszą stronkę
if($link=='')
{
$link = " -- wpisano adres recznie -- ";
$dane = "<font face=\"Verdana\" size=\"2\"><b>Data:</b> ".$data." ".$czas." | <b>IP:</b> ".$ip." | <b>Wszedl z:</b> ".$link."<br><br>";
}
// jeśli ktoś wszedł na Waszą stronę klikając w jakiś odnośnik na innej stronie wtedy wartość link będzie zawierała adres strony na której ten odnośnik się znajduje
// wartość 'dane' to informacja która zostanie dodana do pliku a potem wysłana mailem, zawiera ona czas wejścia, IP oraz link do strony z której bylo wejście na Waszą stronkę
else
{
$dane = "<font face=\"Verdana\" size=\"2\"><b>Data:</b> ".$data." ".$czas." | <b>IP:</b> ".$ip." | <b>Wszedl z:</b> <a href=\"".$link."\">".$link."</a><br><br>";
}
// tu otwiera sie plik do którego zapisujemy uzyskane dane
$file=fopen("s_backlinks.txt", "a");
flock($file, 2);
fwrite($file, stripslashes($dane));
flock($file, 3);
fclose($file);
// a tu odczytujemy wartość licznika wejść na stronę
$file=fopen("s_counter.txt", "r");
flock($file, 1);
$counter=fgets($file, 100);
flock($file, 3);
fclose($file);
// i zwiększamy go o 1 bo dodaliśmy przed chwilą nowe dane do pliku
$counter++;
// teraz jeśli np chcemy co 5 wejść otrzymywać maila z informacjami skąd ludzie wchodzą wpisujemy w warunku "if" liczbę 4
// poniżej jest warunek "if" czyli jeśli było więcej niż 4 wejścia wysyłamy maila
if($counter > '4')
{
// odczytujemy informacje o ostatnich wejściach z pliku
$plik = "s_backlinks.txt";
$otwarty_plik = fopen($plik, "r");
$links = fread($otwarty_plik, filesize($plik));
fclose($otwarty_plik);
// wysylamy maila na podany niżej adres zawierającego informacje o wejściach na naszą stronę, tu wpisz swoje dane
$doMail = "[email protected]";
$tematMail = ":: jankowalski.pl - spis odwiedzajacych ::";
$wiadomoscMail = $links;
$naglowkiMail = 'MIME-Version: 1.0' . "\r\n";
$naglowkiMail .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$naglowkiMail .= "<font face=\"Verdana\">Statystyki odwiedzających jankowalski.pl:</font><br>";
mail($doMail,$tematMail,$wiadomoscMail,$naglowkiMa il);
// po wysyłaniu maila licznik wejść się resetuje i zapisuje, jak znowu będzie 5 wejść mail wyśle się ponownie z kolejnymi danymi
$counter = '0';
$file=fopen("s_counter.txt", "w");
flock($file, 2);
fwrite($file, $counter);
flock($file, 3);
fclose($file);
// w chwili zresetowania licznika odczytujemy datę i czas i zapisujemy do pliku z informacjami o wejściach, tak żeby wiedzieć od której godziny dokładnie są liczone nowe wejścia na stronę
$data = date("d-m-Y");
$czas = date("H:i");
$links = "<font face=\"Verdana\" size=\"2\"><i>Linki zapisywane od ".$data." ".$czas."</i></font><br><br>";
$file=fopen("s_backlinks.txt", "w");
flock($file, 2);
fwrite($file, stripslashes($links));
flock($file, 3);
fclose($file);
}
// jeśli licznik wejść wynosi 4 lub mniej jego wartość jest tylko aktualizowana, mail nie zostaje wyslany (wysyła się po 5)
else
{
$file=fopen("s_counter.txt", "w");
flock($file, 2);
fwrite($file, $counter);
flock($file, 3);
fclose($file);
}
?>
<!-- koniec skryptu statystyk, poniżej umieść resztę kodu html strony -->
Skrypt umieszczamy zaraz po otwartym znaczniku <body> w pliku głównym strony czyli index.php. Jeśli plikiem głównym strony jest plik index.html to zmieniamy jego rozszerzenie na .php.
Na serwerze obok pliku index.php musimy umieścić dodatkowo dwa pliki tekstowe żeby nasz skrypt działał właściwie:
1. plik s_backlinks.txt - pusty, kodowanie UTF-8 (otwórz notatnik, wciśnij PLIK - Zapisz jako..., w polu nazwa s_backlinks.txt a w polu kodowanie wybieramy UTF-8
2. plik s_counter.txt - treść pliku to cyfra 0, kodowanie UTF-8
Zamieszczam tutaj takie pliki jak by ktoś nadal nie wiedział jak je zrobić: www.adriankraska.pl/nikoniarze/info_odwiedzin/stats.zip
Jeśli ktoś potrzebuje jakoś rozbudować ten skrypt służę odpłatną pomocą, na co oczywiście wystawię rachunek.
To co umieściłem powyżej udostępniam za darmo, fajnie by było gdybyście tylko zostawiali informację o autorze w komentarzu na początku kodu :)
Zachęcam do udostepniania w tym wątku podobnych własnych wypocin, napewno wiele osób napisało jakieś własne skrypty przydatne na stronach www, którymi mogliby sie podzielić :)
Napewno jest tu wielu guru programistycznych i osób używających bardziej rozbudowanych rozwiązań ale pozostali nie używają niczego bo nie wiedzą jak lub nie mają na to czasu.
Napisałem dla siebie mały skrypt który odczytuje informacje o wejściach na moją stronę www czyli datę i godzinę, adres IP odwiedzającego, i co dla mnie najważniejsze - adres strony www z której internauta wszedł na moją stronę dzięki czemu mając reklamy w kilku serwisach www wiem z którego częściej a z którego rzadziej wchodzą pary młode. Skrypt wysyła te informacje na maila automatycznie co x wejść na stronę (ja ustawiłem co 5 wejść, wy możecie inaczej). Jest to o tyle dobre że nie wymaga żadnej rejestracji w żadnym portalu, dodaje sie tylko skrypt na stronie swojej i od tej pory sprawdzając pocztę widzicie maile z informacją skąd wchodzono na Waszą stronę i ile razy.
Oto kod źródłowy tego skryptu w PHP:
<!-- początek skryptu statystyk -->
<?php
// SKRYPT NAPISANY PRZEZ ADRIANA KRASKA
// POTRZEBUJESZ GO PRZEBUDOWAĆ? SKONTAKTUJ SIĘ: KONTAKT[AT]ADRIANKRASKA.PL
// odczytywanie informacji o odwiedzającym i pobieranie jego IP
$link = $_SERVER[HTTP_REFERER];
$ip = $_SERVER[REMOTE_ADDR];
$data = date("d-m-Y");
$czas = date("H:i");
// jeśli ktoś wpisał adres waszej strony ręcznie do przeglądarki to wartość link będzie pusta
// wartość 'dane' to informacja która zostanie dodana do pliku a potem wysłana mailem, zawiera ona czas wejścia, IP oraz link do strony z której bylo wejście na Waszą stronkę
if($link=='')
{
$link = " -- wpisano adres recznie -- ";
$dane = "<font face=\"Verdana\" size=\"2\"><b>Data:</b> ".$data." ".$czas." | <b>IP:</b> ".$ip." | <b>Wszedl z:</b> ".$link."<br><br>";
}
// jeśli ktoś wszedł na Waszą stronę klikając w jakiś odnośnik na innej stronie wtedy wartość link będzie zawierała adres strony na której ten odnośnik się znajduje
// wartość 'dane' to informacja która zostanie dodana do pliku a potem wysłana mailem, zawiera ona czas wejścia, IP oraz link do strony z której bylo wejście na Waszą stronkę
else
{
$dane = "<font face=\"Verdana\" size=\"2\"><b>Data:</b> ".$data." ".$czas." | <b>IP:</b> ".$ip." | <b>Wszedl z:</b> <a href=\"".$link."\">".$link."</a><br><br>";
}
// tu otwiera sie plik do którego zapisujemy uzyskane dane
$file=fopen("s_backlinks.txt", "a");
flock($file, 2);
fwrite($file, stripslashes($dane));
flock($file, 3);
fclose($file);
// a tu odczytujemy wartość licznika wejść na stronę
$file=fopen("s_counter.txt", "r");
flock($file, 1);
$counter=fgets($file, 100);
flock($file, 3);
fclose($file);
// i zwiększamy go o 1 bo dodaliśmy przed chwilą nowe dane do pliku
$counter++;
// teraz jeśli np chcemy co 5 wejść otrzymywać maila z informacjami skąd ludzie wchodzą wpisujemy w warunku "if" liczbę 4
// poniżej jest warunek "if" czyli jeśli było więcej niż 4 wejścia wysyłamy maila
if($counter > '4')
{
// odczytujemy informacje o ostatnich wejściach z pliku
$plik = "s_backlinks.txt";
$otwarty_plik = fopen($plik, "r");
$links = fread($otwarty_plik, filesize($plik));
fclose($otwarty_plik);
// wysylamy maila na podany niżej adres zawierającego informacje o wejściach na naszą stronę, tu wpisz swoje dane
$doMail = "[email protected]";
$tematMail = ":: jankowalski.pl - spis odwiedzajacych ::";
$wiadomoscMail = $links;
$naglowkiMail = 'MIME-Version: 1.0' . "\r\n";
$naglowkiMail .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$naglowkiMail .= "<font face=\"Verdana\">Statystyki odwiedzających jankowalski.pl:</font><br>";
mail($doMail,$tematMail,$wiadomoscMail,$naglowkiMa il);
// po wysyłaniu maila licznik wejść się resetuje i zapisuje, jak znowu będzie 5 wejść mail wyśle się ponownie z kolejnymi danymi
$counter = '0';
$file=fopen("s_counter.txt", "w");
flock($file, 2);
fwrite($file, $counter);
flock($file, 3);
fclose($file);
// w chwili zresetowania licznika odczytujemy datę i czas i zapisujemy do pliku z informacjami o wejściach, tak żeby wiedzieć od której godziny dokładnie są liczone nowe wejścia na stronę
$data = date("d-m-Y");
$czas = date("H:i");
$links = "<font face=\"Verdana\" size=\"2\"><i>Linki zapisywane od ".$data." ".$czas."</i></font><br><br>";
$file=fopen("s_backlinks.txt", "w");
flock($file, 2);
fwrite($file, stripslashes($links));
flock($file, 3);
fclose($file);
}
// jeśli licznik wejść wynosi 4 lub mniej jego wartość jest tylko aktualizowana, mail nie zostaje wyslany (wysyła się po 5)
else
{
$file=fopen("s_counter.txt", "w");
flock($file, 2);
fwrite($file, $counter);
flock($file, 3);
fclose($file);
}
?>
<!-- koniec skryptu statystyk, poniżej umieść resztę kodu html strony -->
Skrypt umieszczamy zaraz po otwartym znaczniku <body> w pliku głównym strony czyli index.php. Jeśli plikiem głównym strony jest plik index.html to zmieniamy jego rozszerzenie na .php.
Na serwerze obok pliku index.php musimy umieścić dodatkowo dwa pliki tekstowe żeby nasz skrypt działał właściwie:
1. plik s_backlinks.txt - pusty, kodowanie UTF-8 (otwórz notatnik, wciśnij PLIK - Zapisz jako..., w polu nazwa s_backlinks.txt a w polu kodowanie wybieramy UTF-8
2. plik s_counter.txt - treść pliku to cyfra 0, kodowanie UTF-8
Zamieszczam tutaj takie pliki jak by ktoś nadal nie wiedział jak je zrobić: www.adriankraska.pl/nikoniarze/info_odwiedzin/stats.zip
Jeśli ktoś potrzebuje jakoś rozbudować ten skrypt służę odpłatną pomocą, na co oczywiście wystawię rachunek.
To co umieściłem powyżej udostępniam za darmo, fajnie by było gdybyście tylko zostawiali informację o autorze w komentarzu na początku kodu :)
Zachęcam do udostepniania w tym wątku podobnych własnych wypocin, napewno wiele osób napisało jakieś własne skrypty przydatne na stronach www, którymi mogliby sie podzielić :)