中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何實現統計IP數及在線人數

發布時間:2020-07-22 13:45:05 來源:億速云 閱讀:184 作者:小豬 欄目:開發技術

這篇文章主要講解了php如何實現統計IP數及在線人數,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

開啟依賴函數模塊

實現這個功能,需要依賴putenv()函數。下面兩種方式均可。

更改php.ini文件方法

找到php.ini文件,搜索putenv關鍵字,刪除即可。

isable_functions = passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

使用寶塔面板

點擊左側軟件管理,找到php,然后設置->禁用函數。

php如何實現統計IP數及在線人數

刪除putenv,然后重啟php即可。

實現函數

在count.php同目錄下創建文件:count,temp,online。新建文本文檔count.txt,去掉擴展名即為count了;

linux系統中請設置文件屬性為:777。

文件count.php代碼,用到了php函數--explode、isset、empty及sprintf等:

<&#63;php
$file       = "count"; // 記數文件名稱
$startno     = "1000";  // 起始數值
$tempfile     = "temp"; 
$t_now  = time();
$t_array = getdate($t_now);
$day   = $t_array['mday'];
$mon   = $t_array['mon'];
$year  = $t_array['year'];
if (file_exists("$file")) {
    $count_info=file("$file");
    $c_info = explode(",", $count_info[0]);
    $total_c=$c_info[0];
    $yesterday_c=$c_info[1];
    $today_c=$c_info[2];
    $lastday=$c_info[3];
} else {
    $total_c="$startno";
    $yesterday_c="0";
    $today_c="0";
    $lastday="0";
}
 
if ( !isset($HTTP_COOKIE_VARS["countcookie"]) || $HTTP_COOKIE_VARS["countcookie"] != $day) {
    $your_c=1;
    $lockfile=fopen("temp","a");
    flock($lockfile,3);
    putenv('TZ=JST-9');
 
    $t_array2 = getdate($t_now-24*3600);
    $day2=$t_array2['mday'];
    $mon2=$t_array2['mon'];
    $year2=$t_array2['year'];
    $today = "$year-$mon-$day";
    $yesterday = "$year2-$mon2-$day2";
    if ($today != $lastday) {
  
           if ($yesterday != $lastday) $yesterday_c = "0";
               else $yesterday_c = $today_c;
  
        $today_c = 0;
        $lastday = $today;
    }
    $total_c++;
    $today_c++;
    $total_c   = sprintf("%06d", $total_c);
    $today_c   = sprintf("%06d", $today_c);
    $yesterday_c = sprintf("%06d", $yesterday_c);
    setcookie("countcookie","$day",$t_now+43200);
    $fp=fopen("$file","w");
    fputs($fp, "$total_c,$yesterday_c,$today_c,$lastday");
    fclose($fp);
    fclose($lockfile);
}
if ( empty( $your_c ) ) $your_c = 1;
setcookie("yourcount",$your_c+1,$t_now+43200);
$your_c = sprintf("%06d", $your_c);
//////////////////////////開始統計在線
$filename="online";
$onlinetime=600; //同一IP在線時間,單位:秒
$online_id=file($filename);
$total_online=count($online_id);
$ip=getenv("REMOTE_ADDR");
$nowtime=time();
 for($i=0;$i<$total_online;$i++){
     $oldip=explode("||",$online_id[$i]);
     $hasonlinetime=$nowtime-$oldip[0];
 if($hasonlinetime<$onlinetime and $ip!=$oldip[1]) $nowonline[]=$online_id[$i];
                 }
     $nowonline[]=$nowtime."||".$ip."||";
     $total_online=count($nowonline);
     $fp=fopen($filename,"w");
     rewind($fp);
     for($i=0;$i<$total_online;$i++){
     fputs($fp,$nowonline[$i]);
     fputs($fp,"n");
                 }
 fclose($fp);
   if($total_online==0)$total_online=1;
        $total_online = sprintf("%06d", $total_online);
///////////////////////////////////////////////////////
echo "document.write("·總IP訪問:".$total_c."");";
echo "document.write("<br>");";
echo "document.write("·昨日訪問:".$yesterday_c."");";
echo "document.write("<br>");";
echo "document.write("今日IP:".$today_c."");";
echo "document.write("&nbsp;");";
echo "document.write("·您 訪 問:".$your_c."");";
echo "document.write("<br>");";
echo "document.write("當前在線:".$total_online."");";
exit;
&#63;>

php如何實現統計IP數及在線人數

調用

用JS調用文件count.php

在需要加入統計的的地方,添加:

<script src="/php/count.php"></script>

看完上述內容,是不是對php如何實現統計IP數及在線人數有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沂南县| 体育| 广南县| 策勒县| 延长县| 嘉黎县| 蓝山县| 赤城县| 晴隆县| 七台河市| 壶关县| 新兴县| 青龙| 四会市| 石泉县| 霍州市| 武汉市| 清远市| 巫山县| 礼泉县| 甘谷县| 稷山县| 香港| 大田县| 恩施市| 四川省| 栾川县| 鄂州市| 苏尼特左旗| 天镇县| 石屏县| 绵竹市| 大洼县| 瓮安县| 四子王旗| 板桥市| 泰安市| 甘孜| 武平县| 巴彦淖尔市| 金川县|