ali kiani
4 سال پیش توسط ali kiani مطرح شد
2 پاسخ

آمار بازدید سایت

سلام
دوستان چه راه حلی دارین برای گرفتن آمار بازدید سایت
اگه بشه تعداد کاربران آنلاین هم گرفت عالی میشه
ممنونم😇

پ.ن : پکیج های لاراول را چک کردم


ثبت پرسش جدید
coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 4 سال پیش مطرح شد
2

سلام؛ اگه بازدید صرفا برای نشون دادن لحظه ای باشه و بعدا ازش امار نخواین بگیرین، من این کارو یه بار کردم و نمیدونم اصولی بود یا نه، ولی کار میداد، اگه دوستان بگن اصولی هست یا خوشحال میشم

یه میدلویر نوشتم و با کش هر یوزری میومد ای پی شو میریختم توی ارایه و کش میکردم واسه یه دیقه، هر بار که صفحه رفرش میکرد اگه توی ارایه بود که بود نبود اضافه میشد و امار لحظه ای درمیومد

به این شکل این فانکشن رو کال میکردم توی میدلویر

private function checkActivity( $request ) {
        $expiresAtMin = Carbon::now()->addMinute();
        $guest_online = Cache::get( 'guest-online' , [] );
        if ( ! in_array( $request->ip() , $guest_online ) ) {
            array_push( $guest_online , $request->ip() );
            Cache::put( 'guest-online' , $guest_online , $expiresAtMin );
        }

        $expiresAtDay = Carbon::now()->addDay();
        $guest_stat   = Cache::get( 'guest-stat' , [] );
        if ( ! in_array( $request->ip() , $guest_stat ) ) {
            array_push( $guest_stat , $request->ip() );
            Cache::put( 'guest-stat' , $guest_stat , $expiresAtDay );
            Stat::createOrUpdate( [
                'unique_id' => auth()->check() ? auth()->id() : $request->ip() ,
                'type'      => auth()->check() ? Auth::getDefaultDriver() : 'user' ,
            ] );
        }
    }

البته امار روزانه رو ذخیره میکنه که چند نفر در روز بازدید کردن


mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 4 سال پیش مطرح شد
1

میتونید از پکیج زیر استفاده کنید

https://github.com/shetabit/visitor


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

ورود یا ثبت‌نام