⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 function.php

📁 这个是统计系统
💻 PHP
📖 第 1 页 / 共 3 页
字号:
               $file_list[] = $filename;
           }
       }
       closedir($handle);
   }

   for($i=0; $i<count($file_list); $i++) {
       $place = search_ip($ip,$SETTING['dir_ipdata'].$file_list[$i]);
       if( $place != "Unknown" && $place != "") { break; }
   }

   return  $place;
}

// Search IP to address
function search_ip($ip,$db)
{
   global $SETTING;

   $ip_part = explode(".",trim($ip));
   for($i=0; $i<4; $i++) { $ip_part[$i] = sprintf("%03d", $ip_part[$i]); }
   $ip      = join(".",$ip_part);

   $file_list = file($db);
   $number    = count($file_list);

   if($number>=10) {
       $part  = floor($number/10); $group = 10;
   } else {
       $part  = $number; $group = 1;
   }

   for($i=0;$i<$group;$i++) {
       $record_begin = $part*$i;
       $record_end   = ($i == $group-1) ? $number-1 : $part*($i+1)-1;
       $ipbegin_part = explode(".",$file_list[$record_begin]);
       $ipend_part   = explode(".",$file_list[$record_end]);
       if( ($ip_part[1] >= $ipbegin_part[1]) && ($ip_part[1] <= $ipend_part[4]) ) {
           for($j = $record_begin;$j <= $record_end;$j++) {
               $file_list_part = explode($SETTING['division1'],$file_list[$j]);
               if(strcmp($ip,$file_list_part[0])>=0 && strcmp($ip,$file_list_part[1])<=0 ) {
                   $place = trim($file_list_part['2']).trim($file_list_part['3']);
                   break;
               }
           }
           break;
       }
   }

   $place = (!empty($place)) ? $place : "Unknown";

   return  $place;
}

// Forbid the IP
function forbid_ip()
{
   global $SETTING;

   $ifhave    = "n";
   $ip        = return_ip();
   $ip_part   = explode(".",$ip);
   $file_list = file($SETTING['file_forbidip']);

   for ($i=1; $i<count($file_list); $i++) {
       $file_list_part = explode(".",$file_list[$i]);
       for($h=0; $h<4; $h++) {
           if((trim($file_list_part[$h]) != trim($ip_part[$h])) && (trim($file_list_part[$h]) != "*")) {
               break;
           } elseif ($h == 3) {
               $ifhave = "y";
               break 2;
           }
       }
   }
   return $ifhave;
}

// Nether is some check function
// Check if visitor can view user
function check_ifview()
{
   global $_GET,$SETTING,$LANGUAGE;

   if(isset($_GET['user']) && ($_GET['user'] != "")) {
       $user        = check_username($_GET['user']);
       $file_config = $SETTING['dir_data'].$user."/".$SETTING['file_config'];
       if(!file_exists($file_config)) {
           header("location:login.php?act=select&mes=".htmlentities(urlencode($LANGUAGE['warning_nouser'])));
           exit;
       } else {
           $_SESSION['sess_select'] = $user;
       }
   } elseif (!isset($_SESSION['sess_select']) || $_SESSION['sess_select'] == "") {
       header("location:login.php?act=select&mes=".htmlentities(urlencode($LANGUAGE['function_selectuser'])));
       exit;
   }
   $file_config = $SETTING['dir_data'].$_SESSION['sess_select']."/".$SETTING['file_config'];
   include $file_config;

   if((CONFIG_IFVIEW == "n") && ($_SESSION['sess_username'] != $_SESSION['sess_select']) && (if_adminlogin() != "y")) {
       header("location:login.php?act=login&mes=".htmlentities(urlencode($LANGUAGE['function_mustlogin'])));
       exit;
   } elseif (($CONFIGUSER['ifview'] == "n") && ($_SESSION['sess_username'] != $_SESSION['sess_select']) && (if_adminlogin() != "y")) {
       header("location:login.php?act=login&mes=".htmlentities(urlencode($LANGUAGE['function_usermustlogin'])));
       exit;
   }

   return TRUE;
}

// Check if select user
function if_selectuser()
{
   $if = "n";
   if(isset($_SESSION['sess_select']) && ($_SESSION['sess_select'] != "")) {
       $if = "y";
   }
   return $if;
}

// Check user login
function check_userlogin()
{
   if(!isset($_SESSION['sess_username']) || ($_SESSION['sess_username'] == "") || !isset($_SESSION['sess_password']) || ($_SESSION['sess_password'] == "")) {
       header("location:login.php?act=login");
       exit;
   } else {
       return TRUE;
   }
}

// Check if user login
function if_userlogin()
{
   $if = "n";
   if(isset($_SESSION['sess_username']) && ($_SESSION['sess_username'] != "") && isset($_SESSION['sess_password']) && ($_SESSION['sess_password'] != "")) {
       $if = "y";
   }
   return $if;
}

// Check admin login
function check_adminlogin()
{
   if(!isset($_SESSION['sess_adminuser']) || ($_SESSION['sess_adminuser'] == "") || !isset($_SESSION['sess_adminpass']) || ($_SESSION['sess_adminpass'] == "")) {
       header("location:admin_login.php?act=login");
       exit;
   } else {
       return TRUE;
   }
}

// Check admin login
function if_adminlogin()
{
   $if = "n";
   if(isset($_SESSION['sess_adminuser']) && ($_SESSION['sess_adminuser'] != "") && isset($_SESSION['sess_adminpass']) && ($_SESSION['sess_adminpass'] != "")) {
       $if = "y";
   }
   return $if;
}
//////

// Sort a planar array into order
function cmp($a, $b)
{
   if($a['key'] == $b['key']) {
       return 0;
   }else{
       return ($a['key'] < $b['key']) ? -1 : 1;
   }
}

// Sort a planar array into reversed order
function rcmp($a, $b)
{
   if($a['key'] == $b['key']) {
       return 0;
   }else{
       return ($a['key'] < $b['key']) ? 1 : -1;
   }
}

// join some str to a array
function join_str($begin,$end,$fill=0)
{
   $str       = array();
   for($i=$begin; $i<=$end; $i++) {
       $str[] = sprintf("%0".$fill."d", $i);
   }
   return $str;
}

// join date to a array
function join_date($sort,$year,$month,$day,$hour)
{
   global $SETTING;

   $array = array();
   if($sort == "hour") {
      for($i=23;$i>=0;$i--) {
         $array[] .= date("YmdH", mktime ($hour-$i,0,0,$month,$day,$year));
      }
   } elseif ($sort == "day") {
      for($i=30;$i>=0;$i--) {
         $array[] .= date("Ymd", mktime ($hour,0,0,$month,$day-$i,$year));
      }
   } elseif ($sort == "month") {
      for($i=11;$i>=0;$i--) {
         $array[] .= date("Ym", mktime ($hour,0,0,$month-$i,$day,$year));
      }
   } elseif ($sort == "year") {
      for($i=$SETTING['howyear']-1;$i>=0;$i--) {
         $array[] .= date("Y", mktime ($hour,0,0,$month,$day,$year-$i));
      }
   }
   return $array;
}

// If have a same IP in period of time
function if_ipsame($filename,$now,$long)
{
   global $SETTING;

   $str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
   if(!file_exists($filename)) { write_file($filename,$str); }

   $ip       = return_ip();
   $ifhave   = "n";
   $str_file = "";
   $str_now  = $now.$SETTING['division1'].$ip."\n";
   $file_list = file($filename);
   for($i=1;$i<count($file_list);$i++) {
       $file_list_part = explode($SETTING['division1'],$file_list[$i]);
       $time_margin = trim($now)-trim($file_list_part['0']);
       if( $time_margin < (int)$long ) {
           $str_file .= trim($file_list[$i])."\n";
           if( trim($ip) == trim($file_list_part['1']) ) {
               $ifhave = "y";
           }
       }
   }
   if($ifhave == "y") {
       $str = $str.$str_file;
   }else{
       $str = $str.$str_now.$str_file;
   }
   $fettle = write_file($filename,$str);
   return $ifhave;
}

// Some write function
// Write data to file of click
function write_click($filename,$keyword,$if_ipsame,$length)
{
   global $SETTING;

   $str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
   if(!file_exists($filename)) { write_file($filename,$str); }

   $file_list = file($filename);
   for($i=0;$i<count($keyword);$i++) {
       for($j=0;$j<count($file_list);$j++) { // $i must be 1
           $file_list_part = explode($SETTING['division1'],$file_list[$j]);
           if(trim($keyword[$i]) == trim($file_list_part[0])) {
               $ip[$i] = ($if_ipsame == "n") ? ($file_list_part[1]+1) : ($file_list_part[1]+0);
               $pv[$i] = $file_list_part[2]+1;
               if(strlen($ip[$i])>(int)$length) { $ip[$i] = 0; }// initialize IP
               if(strlen($pv[$i])>(int)$length) { $pv[$i] = 0; }// initialize PV
               break;
           } elseif ($j == (count($file_list)-1)) {
               $ip[$i] = "1";
               $pv[$i] = "1";
               break;
           }
       }
       $str .= $keyword[$i].$SETTING['division1'].$ip[$i].$SETTING['division1'].$pv[$i]."\n";
   }
   $fettle = write_file($filename,$str);
   return $fettle;
}

// Period of time of total
function write_totalevery($filename,$keyword,$now,$if_ipsame)
{
   global $SETTING;

   $str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
   if(!file_exists($filename)) { write_file($filename,$str); }

   $file_list = file($filename);
   for($i=0;$i<count($keyword);$i++) {
       for($j=0;$j<count($file_list);$j++) {
           $file_list_part = explode($SETTING['division1'],$file_list[$j]);
           if(trim($keyword[$i]) == trim($file_list_part[0])) {
               if(trim($keyword[$i]) == trim($now)) {
                   $ip[$i] = (($if_ipsame == "n") ? ($file_list_part[1]+1) : ($file_list_part[1]+0));
                   $pv[$i] = $file_list_part[2]+1;
                   break;
               }else{
                   $ip[$i] = $file_list_part[1]+0;
                   $pv[$i] = $file_list_part[2]+0;
                   break;
               }
           } elseif ($j == (count($file_list)-1)) {
               $ip[$i] = (trim($keyword[$i]) == trim($now)) ? "1" : "0";
               $pv[$i] = (trim($keyword[$i]) == trim($now)) ? "1" : "0";
               break;
           }
       }
       $str .= $keyword[$i].$SETTING['division1'].$ip[$i].$SETTING['division1'].$pv[$i]."\n";
   }
   $fettle = write_file($filename,$str);
   return $fettle;
}

// Period of time of latest time
function write_lastevery($filename,$keyword,$if_ipsame)
{
   global $SETTING;

   $str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
   if(!file_exists($filename)) { write_file($filename,$str); }

   $num_keyword     = count($keyword);
   $file_list       = file($filename);
   $num_file_list   = count($file_list);

   for($i=0;$i<$num_keyword;$i++) {
       for($j=0;$j<$num_file_list;$j++) {
           $file_list_part = explode($SETTING['division1'],$file_list[$j]);
           if(trim($keyword[$i]) == trim($file_list_part[0])) {
               if($i==($num_keyword-1)) {
                   $ip[$i] = (($if_ipsame == "n") ? ($file_list_part[1]+1) : ($file_list_part[1]+0));
                   $pv[$i] = $file_list_part[2]+1;
                   break;
               }else{
                   $ip[$i] = $file_list_part[1]+0;
                   $pv[$i] = $file_list_part[2]+0;
                   break;
               }
           } elseif ($j == ($num_file_list-1)) {
               $ip[$i] = ($i==($num_keyword-1)) ? "1" : "0";
               $pv[$i] = ($i==($num_keyword-1)) ? "1" : "0";
               break;
           }
       }
       $str .= $keyword[$i].$SETTING['division1'].$ip[$i].$SETTING['division1'].$pv[$i]."\n";
   }
   $fettle = write_file($filename,$str);
   return $fettle;
}

// Every of total

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -