Witam!
Potrzebuje pomocy w przerobieniu skryptu.
Jest to skrypt statystyk odwiedzin, a chciałbym go przerobić na statystyki downloadu.
Lub prosiłbym o namiary na gotowy skrypt.
Np:
Wszystkich plików 124
Dodanych dzisiaj 33
Dodanych wzoraj 23
Oto skryp
CREATE TABLE `st_stats` (
`stat_id` mediumint(8) unsigned NOT NULL auto_increment,
`ip_id` mediumint(9) NOT NULL default '0',
`referer_id` mediumint(9) NOT NULL default '0',
`agent_id` mediumint(9) NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`stat_id`),
UNIQUE KEY `stat_id` (`stat_id`)
) TYPE=MyISAM;
<?php
// połącz się z bazą danych (DB_HOST - host, DB_USER - użytkownik, DB_PASSWORD - haslo)
@mysql_connect ('DB_HOST', 'DB_USER', 'DB_PASSWORD') OR die ('Nie mogłem połączyć się z MySQL-em: ' . mysql_error());
// wybierz bazę danych (DB_NAME - baza danych)
@mysql_select_db ('DB_NAME') OR die ('Nie udało mi się wybrać bazy danych: ' . mysql_error());
// pobieranie danych
$ip = $_SERVER["REMOTE_ADDR"];
$host = gethostbyaddr(getenv('remote_addr'));
$referer = $_SERVER['HTTP_REFERER'];
$agent = $_SERVER['HTTP_USER_AGENT'];
// w miejsca twoj.host i twoje.ip wpisz Twoj host i Twoje ip, aby skrypt nie zliczal wlasnych odwiedzin
if ($host != 'twoj.host' && $ip != 'twoje.ip')
{
// sprawdza czy strona byla juz odwiedzona dzisiaj
if($visited != 1)
{
// zmienna $agent
$result = mysql_query("select how from st_agents where agent='$agent';");
$found = mysql_num_rows($result);
if ($found == 1)
{
$row = mysql_fetch_array($result);
$row[0]++;
mysql_query("update st_agents set how='$row[0]' where agent='$agent';");
}
else
{
mysql_query("insert into st_agents (agent_id, agent, how) values ('', '$agent', '1');");
}
$result = mysql_query("select agent_id from st_agents where agent='$agent';");
$row = mysql_fetch_array($result);
$agent_id = $row[0];
// zmienna $referer
if (eregi('sm00f.boo.pl', $referer) || empty($referer))
{
$referer = 'brak';
}
$referer = htmlspecialchars($referer);
$result = mysql_query("select how from st_referers where referer='$referer';");
$found = mysql_num_rows($result);
if ($found == 1)
{
$row = mysql_fetch_array($result);
$row[0]++;
mysql_query("update st_referers set how='$row[0]' where referer='$referer';");
}
else
{
mysql_query("insert into st_referers (referer_id, referer, how) values ('', '$referer', '1');");
}
$result = mysql_query("select referer_id from st_referers where referer='$referer';");
$row = mysql_fetch_array($result);
$referer_id = $row[0];
// ustawia zmienne $ip_id i $how
$result = mysql_query("select how from st_ips where ip='$ip' and host='$host';");
$found = mysql_num_rows($result);
if ($found == 1)
{
$row = mysql_fetch_array($result);
$row[0]++;
mysql_query("update st_ips set how='$row[0]' where ip='$ip' and host='$host';");
}
else
{
mysql_query("insert into st_ips (ip_id, ip, host, how) values ('', '$ip', '$host', '1')");
}
$result = mysql_query("select ip_id, how from st_ips where ip='$ip' and host='$host';");
$row = mysql_fetch_array($result);
$ip_id = $row[0];
$how = $row[1];
// dodaj wszystko do statystyk
mysql_query("insert into st_stats (stat_id, ip_id, referer_id, agent_id, date) values ('', '$ip_id', '$referer_id', '$agent_id', now())");
// koniec sprawdzenia czy strona byla juz odwiedzona
}
// pobierz ilosc odwiedzin
$result = mysql_query("select how from st_ips where ip='$ip' and host='$host';");
$row = mysql_fetch_array($result);
$how = $row[0];
// jesli to Ty
}
else
{
$how = 'brak';
}
// pobierz ilosc wszystkich odwiedzin
$result = mysql_query("select stat_id from st_stats order by 'st_stats', 'stat_id' desc limit 0,1;");
$row = mysql_fetch_array($result);
$all_visit = $row[0];
// pobierz dzisiejsza ilosc wizyt
$day = date('jnY');
$result = mysql_query("select date_format(date, '%e') from st_stats where date_format(date, '%e%c%Y')='$day';");
$dzisiaj = mysql_num_rows($result);
// pobierz wczorajsza ilosc odwiedzin
$day = date('j');
$month = date('n');
$year = date('Y');
$dateunix = mktime('', '', '', $month, $day, $year);
$dateunix = floor($dateunix / (60*60*24));
$dateunix--;
$result = mysql_query("select floor((unix_timestamp(date)/(60*60*24))) from st_stats where floor((unix_timestamp(date)/(60*60*24)))='$dateunix';");
$wczoraj = mysql_num_rows($result);
// wyswietl wyniki
echo '
Wszystkie: <b>'.$all_visit.'</b><br />
Dzisiaj: <b>'.$dzisiaj.'</b><br />
Wczoraj: <b>'.$wczoraj.'</b><br />
Twoje: <b>'.$how.'</b><br />
';
// zakończ połączenie z bazą danych
mysql_close();
?>