Посещения днес

SharkpenT

Registered
Здравейте, търся скрипт за "Посещения днес". Ако можете да ми помогнете ще съм Ви много благодарен!
 
SharkpenT каза:
Здравейте, търся скрипт за "Посещения днес". Ако можете да ми помогнете ще съм Ви много благодарен!
http://web-tourist.net/forum/viewtopic.php?t=3583&highlight=#30053
Късметец!
 
FirstBlood каза:
SharkpenT каза:
Точно този и аз пробвах, но просто не ми отчита :cry:
Порбвай варианта на админ...той става 100%
ha. тои тукощо каза че е пробвал точно този на админа .. :?:
 
dashe каза:
FirstBlood каза:
SharkpenT каза:
Точно този и аз пробвах, но просто не ми отчита :cry:
Порбвай варианта на админ...той става 100%
ha. тои тукощо каза че е пробвал точно този на админа .. :?:
Там има два кода... един на Хирсчо и един на админ ;)
И на мен не ми тръгва този на хирсчо.
 
Код:
 <?php
// Нашият файл за посещения;
$counter = "stats.txt";

// Дата на посщението;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;


// Записва посещенията;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Чете файлът,който брои посещенията;
$contents = file($counter);

// Общо посещенията;
$total_hits = sizeof($contents);

// Общо уникалните посещенията;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

// Посещенията за деня;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hits, $entry[0]);
}
}
$daily_hits_size = sizeof($daily_hits);

// Уникалните посещения за дена;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hosts, $entry[0]);
}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

?>

И където искаш да ти ги изкарва:

Код:
<br>  Общо посещения: <?php echo "<b> " . $total_hits; ?></b>
<br>  Общо уникални посещения: <?php echo "<b> " . $total_hosts_size; ?></b>
<br>  Посещения днес: <?php echo "<b> " . $daily_hits_size; ?></b>
<br>  Уникални посещения днес: <?php echo "<b> " . $daily_hosts_size; ?></b>

:lol:
 
DJCharge каза:
Да, а тоя файл като стане няколко MB ще го ядете.. :D :) :cry:
Е.. като стане вече във МБ...
Ще преминат на нов скрипт със БД.. ;)
 
Ползвал съм го и този скрипт, но по точната причина, която каза DJCharge, че файлът кат стане МБ... Друг начин?
 
Код:
<?php
 $countfile = date("j-n-Y") . ".dat";

 if (!file_exists($countfile)) {
   $fp = fopen($countfile, 'w+');
   fwrite($fp, "0");
 }

 $fp = fopen("$countfile", "r+");
 flock($fp, 1);
 $count = fgets($fp, 4096);
 $count += 1; 
 fseek($fp,0);
 fputs($fp, $count);
 flock($fp, 3);
 fclose($fp);
?>

Днес тази страница е посетена <b><?php echo $count; ?></b> пъти :)
 
DJCharge каза:
Код:
<?php
 $countfile = date("j-n-Y") . ".dat";

 if (!file_exists($countfile)) {
   $fp = fopen($countfile, 'w+');
   fwrite($fp, "0");
 }

 $fp = fopen("$countfile", "r+");
 flock($fp, 1);
 $count = fgets($fp, 4096);
 $count += 1; 
 fseek($fp,0);
 fputs($fp, $count);
 flock($fp, 3);
 fclose($fp);
?>

Днес тази страница е посетена <b><?php echo $count; ?></b> пъти :)
Мерси :?: +1
 
Може да се измисли и по-добър вариант, тоест да не се запазват старите файлове.. имам идея как ще стане и ако го направя ще пиша (стига някой да не ме изпревари).

Първо мисля да си направя 1 кафенце :roll:

EDIT: хубавото е, че така може да видиш за предните дни колко си имал.. :P
 
Код:
<?php
 $dnesfile = "dnes.dat";
 $countdate = date("j-n-Y");

 if (!file_exists($dnesfile)) {
   $fp = fopen($dnesfile, 'w+');
   fwrite($fp, "0|$countdate");
 }

 $fcontents = file_get_contents($dnesfile);
 list($listcount, $listdate) = explode("|", $fcontents);

 if($countdate != $listdate) {
   $count = 1;
   $fp = fopen($dnesfile, 'w');
   fwrite($fp, "1|$countdate");
 }

 else {
   $count = $listcount+1;
   $fp = fopen($dnesfile, 'r+');
   fwrite($fp, "$count|$countdate");
   fclose($fp);
 }
?>

Посетени страници за днес: <b><?php echo $count; ?></b>
Хич ме няма с explode, но все пак измислих нещо.. надявам се да съм го направил както трябва - важното е, че работи :roll:
 

Back
Горе