3 پست در این موضوع قرار دارد

با سلام خدمت همه دوستان

همین طور که از عنوان تاپیک معلومه یک کد آمار بازدیدکنندگان (بازدید امروز، بازدید دیروز، افراد آنلاین، ورودی گوگل) بدون نیاز به افزونه برای نمایش در سایدبار می خواستم

با تشکر

0

به اشتراک گذاری این پست


لینک به پست

سلام دوست عزيز خوش اومديد به انجمن !‌ دليل خاصي داره ميخواين از افزونه استفاده نكنيد !‌

من همچين كدي نديدم ولي اگه با افزونه بخواين كارو بكنيد ميتونم كمكتون كنم !‌

0

به اشتراک گذاری این پست


لینک به پست

برای کد آمار شما نیاز به دیتابیس دارید که آمار رو توش چک کنه. اما در این روش به جای دیتا بیس از یک فایل متنی که اینجا counter.txt نام داره استفاده میشه !

این فایل کوچک و قدرتمند کار دیتابیس رو انجام میده . اما نیازی به دیتابیس نداره !

هرجا که از کد استفاده کردید ، فایل txt رو همونجا آپلود کنید .

<?php

$expire = 1;

$filename = "counter.txt";

if (file_exists($filename))

{

$ignore = false;

$current_agent = (isset($_SERVER['HTTP_USER_AGENT'])) ? addslashes(trim($_SERVER['HTTP_USER_AGENT'])) : "no agent";

$current_time = time();

$current_ip = $_SERVER['REMOTE_ADDR'];

// daten einlesen

$c_file = array();

$handle = fopen($filename, "r");

if ($handle)

{

while (!feof($handle))

{

$line = trim(fgets($handle, 4096));

if ($line != "")

$c_file[] = $line;

}

fclose ($handle);

}

else

$ignore = true;

// bots ignorieren

if (substr_count($current_agent, "bot") > 0)

$ignore = true;

// hat diese ip einen eintrag in den letzten expire sec gehabt, dann igornieren?

for ($i = 1; $i < sizeof($c_file); $i++)

{

list($counter_velip, $counter_veltime) = explode("||", $c_file[$i]);

$counter_veltime = trim($counter_veltime);

if ($counter_velip == $current_ip && $current_time-$expire < $counter_veltime)

{

// besucher wurde bereits gezählt, daher hier abbruch

$ignore = true;

break;

}

}

// counter hochzählen

if ($ignore == false)

{

if (sizeof($c_file) == 0)

{

// wenn counter leer, dann füllen

$add_line1 = date("z") . ":1||" . date("W") . ":1||" . date("n") . ":1||" . date("Y") . ":1||1||1||" . $current_time . "\n";

$add_line2 = $current_ip . "||" . $current_time . "\n";

// daten schreiben

$fp = fopen($filename,"w+");

if ($fp)

{

flock($fp, LOCK_EX);

fwrite($fp, $add_line1);

fwrite($fp, $add_line2);

flock($fp, LOCK_UN);

fclose($fp);

}

// werte zur verfügung stellen

$day = $week = $month = $year = $all = $record = 1;

$record_time = $current_time;

$online = 1;

}

else

{

// counter hochzählen

list($day_arr, $week_arr, $month_arr, $year_arr, $all, $record, $record_time) = explode("||", $c_file[0]);

// day

$day_data = explode(":", $day_arr);

$day = $day_data[1];

if ($day_data[0] == date("z")) $day++; else $day = 1;

// week

$week_data = explode(":", $week_arr);

$week = $week_data[1];

if ($week_data[0] == date("W")) $week++; else $week = 1;

// month

$month_data = explode(":", $month_arr);

$month = $month_data[1];

if ($month_data[0] == date("n")) $month++; else $month = 1;

// year

$year_data = explode(":", $year_arr);

$year = $year_data[1];

if ($year_data[0] == date("Y")) $year++; else $year = 1;

// all

$all++;

// neuer record?

$record_time = trim($record_time);

if ($day > $record)

{

$record = $day;

$record_time = $current_time;

}

// speichern und aufräumen und anzahl der online leute bestimmten

$online = 1;

// daten schreiben

$fp = fopen($filename,"w+");

if ($fp)

{

flock($fp, LOCK_EX);

$add_line1 = date("z") . ":" . $day . "||" . date("W") . ":" . $week . "||" . date("n") . ":" . $month . "||" . date("Y") . ":" . $year . "||" . $all . "||" . $record . "||" . $record_time . "\n";

fwrite($fp, $add_line1);

for ($i = 1; $i < sizeof($c_file); $i++)

{

list($counter_velip, $counter_veltime) = explode("||", $c_file[$i]);

// übernehmen

if ($current_time-$expire < $counter_veltime)

{

$counter_veltime = trim($counter_veltime);

$add_line = $counter_velip . "||" . $counter_veltime . "\n";

fwrite($fp, $add_line);

$online++;

}

}

$add_line = $current_ip . "||" . $current_time . "\n";

fwrite($fp, $add_line);

flock($fp, LOCK_UN);

fclose($fp);

}

}

}

else

{

// nur zum anzeigen lesen

if (sizeof($c_file) > 0)

list($day_arr, $week_arr, $month_arr, $year_arr, $all, $record, $record_time) = explode("||", $c_file[0]);

else

list($day_arr, $week_arr, $month_arr, $year_arr, $all, $record, $record_time) = explode("||", date("z") . ":1||" . date("W") . ":1||" . date("n") . ":1||" . date("Y") . ":1||1||1||" . $current_time);

// day

$day_data = explode(":", $day_arr);

$day = $day_data[1];

// week

$week_data = explode(":", $week_arr);

$week = $week_data[1];

// month

$month_data = explode(":", $month_arr);

$month = $month_data[1];

// year

$year_data = explode(":", $year_arr);

$year = $year_data[1];

$record_time = trim($record_time);

$online = sizeof($c_file) - 1;

}

?>

<table cellspacing="0" cellpadding="0">

<tr>

<td dir="rtl" style="font-family:tahoma;font-size:12pt;">

» افراد آن لاين:<?php echo $online; ?> <br>

» بازديدهاي امروز:<?php echo $day; ?> <br>

» بازديدهاي هفته:<?php echo $week; ?> <br>

» بازديدهاي ماه: <?php echo $month; ?> <br>

» بازديدهاي سال:<?php echo $year; ?> <br>

» بازديدهاي كل:<?php echo $all; ?>

</td>

</tr>

</table>

<?php

}

?>

فایل counter.txt رو هم براتون پیوست کردم

من خودم دنبالش بودم که از سایت ادمین وب پیداش کردم

counter.zip

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط dastjerdisf
      با سلام
      در بین اساتید کسی می تونه به من کمک کنه بگه چرا وقتی آدرس سایتم رو می نویسم اتومات این متن رو به اون اضافه می کنه/?i=1
      از مدیریت هاست پرسیدم میگند از کش مرورگر هستش اما چرا سایت های دیگه این جوری نیستند
      آدرس سایتم:http://hushmandyar.ir
    • توسط saeid1872
      سلام دوستان
      تو کمتر از یک ماه سایتم 61 ارور 500 ثبت کرده که در حال زیاد شدن هستش نمیدونم چرا این ارورهارو ثبت میکنه
      لطفا دلیلش رو بگید و اینکه چطور باید رفع کنم
      من خیلی اصلا حرفه ای نیستم فقط خواهشا جوری راهنمایی کنید که بتونم رفعش کنم.

    • توسط devil1367
      با سلام
      من یک فروشگاه دارم چون قالب قبلیم نیازهامو نمیتونست برطرف کنه یه قالب جدید از یکی از سایتها خریداری کردم
      سوالم اینه با نصب بسته اسان نصب اطلاعاتی یا محصولات قبلی که داشتم حذف میشن ؟
      چطوری قالب رو شبیه دمو دربیارم و صفحات و برگه ها import کنم.
       
      با تشکر
    • توسط armakcell
      با سلام بنده در سایتم میخواستم یک ابزارک قرار بدم مانند ابزارک این سایت
      http://powerturk.ir

      اگر داخل این سایت برید در یک قسمت نوشته است آرشیو فول البوم
      بنده این ابزارک را چگونه به دست بیارم؟
      بنده یک تصویر ضمیمه میکنم در صورتی که در سایت وارد نشد

    • توسط amir_hossein
      سلام دوستان من قصد دارم چندتا اسلاید کناره هم به صورت خطی (مثلا 4 تا اسلاید) اواسط صفحه اصلی یا انتهای صفحه قرار بدم.افزونه ای میتونید بهم معرفی کنید برای اینکار؟