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

📄 function.php

📁 这个是统计系统
💻 PHP
📖 第 1 页 / 共 3 页
字号:
<?php
/*
+-----------------------------------------------------------------------------+
| $Id: footer.php,v 2.00 2005/01/15 05:02:00 Bleakwind Exp $
| The function.php
| Copyright (c) 2003-2004 Weaverdream
| http://www.weaverdream.com
+-----------------------------------------------------------------------------+
*/

// Return file data
function read_file($filename, $mode="rb")
{
   $handle = fopen($filename, $mode);
   flock($handle, LOCK_EX);
   $data = fread($handle, filesize($filename));
   fclose($handle);
   return $data;
}

// Put the data into file
function write_file($filename, $data, $mode="rb+")
{
   touch($filename);
   $handle = fopen($filename, $mode);
   flock($handle, LOCK_EX);
   $fettle = fwrite($handle, $data);
   if($mode == "rb+") {ftruncate($handle, strlen($data));}
   fclose($handle);
   return $fettle;
}

// Return visitor's IP
function return_ip()
{
   if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
       $ip = $_SERVER['HTTP_CLIENT_IP'];
   } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
       $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
   } elseif (!empty($_SERVER['REMOTE_ADDR'])) {
       $ip = $_SERVER['REMOTE_ADDR'];
   } else {
       $ip = "Unknown";
   }
   return trim($ip);
}

// Return visitor's OS
function return_os()
{
   $agent = $_SERVER["HTTP_USER_AGENT"];

   if(preg_match('/Win/i', $agent) && preg_match('/NT 5.2/i', $agent)) {// Windows 2003
       $os = "Win2003";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/NT 5.1/i', $agent)) {// Windows XP
       $os = "WinXP";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/NT 5.0/i', $agent)) {// Windows 2000
       $os = "Win2000";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/NT/i', $agent)) {// Windows NT
       $os = "Win2000";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/4.90/i', $agent)) {// Windows ME
       $os = "Win9X";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/98/i', $agent)) {// Windows 98
       $os = "Win9X";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/95/i', $agent)) {// Windows 95
       $os = "Win9X";
   } elseif (preg_match('/Win/i', $agent) && preg_match('/32/i', $agent)) {// Windows 32
       $os = "Win9X";
   } elseif (preg_match('/Linux/i', $agent)) {// linux
       $os = "Linux";
   } elseif (preg_match('/BSD/i', $agent)) {// *BSD
       $os = "Unix";
   } elseif (preg_match('/Unix/i', $agent)) {// Unix
       $os = "Unix";
   } elseif (preg_match('/Sun/i', $agent)) {// SunOS
       $os = "SunOS";
   } elseif (preg_match('/Mac/i', $agent)) {// Macintosh
       $os = "Macintosh";
   } elseif (preg_match('/IBM/i', $agent)) {// IBMOS
       $os = "IBMOS";
   } else {// Other
       $os = "Other";
   }

   return trim($os);
}

// Return visitor's browser
function return_browser()
{
   $agent = $_SERVER["HTTP_USER_AGENT"];

   if(preg_match('/Firefox/i',$agent)) {
       $browser="Firefox";
   } elseif (preg_match('/Netscape/i',$agent)) {
       $browser="Netscape";
   } elseif (preg_match('/NetCaptor/i',$agent)) {// has MSIE
       $browser="NetCaptor";
   } elseif (preg_match('/MSN/i',$agent)) {// has MSIE
       $browser="MSN Explorer";
   } elseif (preg_match('/Opera/i',$agent)) {// has MSIE
       $browser="Opera";
   } elseif (preg_match('/AOL/i',$agent)) {
       $browser="AOL";
   } elseif (preg_match('/JAVA/i',$agent)) {
       $browser="JAVA";
   } elseif (preg_match('/MacWeb/i',$agent)) {
       $browser="MacWeb";
   } elseif (preg_match("/MSIE/i", $agent)) {
       $str = explode(";",$agent);
       $str = $str['1'];
       $str = explode(" ",$str);
       $browser_ver = $str['2'];
       if($browser_ver == "6.0") {
           $browser = "IE6";
       } else {
           $browser = "IE5";
       }
   } else {
       $browser = "Other";
   }

   return trim($browser);
}

// Return the the search
function return_search($referrer)
{
   global $SEARCHLIST,$LANGUAGE;
   
   $search  = array();
   $quondam = array("/",".","?");
   $current = array("\/","\.","\?");

   reset($SEARCHLIST);
   while (list($key1, $value1) = each ($SEARCHLIST)) {
       while (list($key2, $value2) = each ($value1['search'])) {
               $pattern = str_replace($quondam,$current,$value2[0]);
               if(preg_match( "/^".$pattern."/i", $referrer)) {
                   preg_match("/".$value2[1]."([^".$value2[2]."]+)/i", $referrer, $matches);
                   $search['name']    = trim($key1);
                   $search['keyword'] = iconv($value2[3], $LANGUAGE['charset'], trim(urldecode($matches[1])));
                   break;
               }
       }
   }

   return $search;
}

// Formatted the time difference from time to now
function time_margin($time, $now, $multiple)
{
   $margin = trim($now) - trim($time);
   $number = ceil($margin/$multiple);
   return $number;
}

// Read dir to list
function return_dir($directory)
{
   $file_list = array();
   if ($handle = opendir($directory)) {
       while (false !== ($file = readdir($handle))) {
           if(($file != ".")&&($file != "..")) {
               $file_list[] = $file;
           }
       }
       closedir($handle);
   }
   sort($file_list);
   return $file_list;
}

// Encrypt the string
function str_encrypt($str,$len = 40)
{
  $encrypt = "";
  $str     = sha1($str);
  $str     = substr($str, 0, 10).substr($str, -10);
  $str     = sha1($str);
  for($i=0;$i<$len;$i++){
      $encrypt .= $str{$i%40};
  }
  return $encrypt;
}

// Resize a image
function resize_image($filename, $width, $height="")
{
   
   $extend_name = substr($filename,-3);
   
   if($extend_name == "png") {
       $str_createfrom = "imagecreatefrompng";
   } elseif ($extend_name == "jpg") {
       $str_createfrom = "imagecreatefromjpeg";
   } elseif ($extend_name == "gif") {
       $str_createfrom = "imagecreatefromgif";
   } elseif ($extend_name == "bmp") {
       $str_createfrom = "imagecreatefromwbmp";
   }

   list($width_get, $height_get, $type_get, $attr_get) = getimagesize($filename);
   if(empty($height)) { $height = (int)(($width / $width_get) * $height_get); }

   $img        = imagecreatetruecolor($width, $height);
   $image_from = $str_createfrom($filename);
   imagecopyresampled($img, $image_from, 0, 0, 0, 0, $width, $height, $width_get, $height_get);

   return $img;
}

// Return a 16 color to a 10 color
function color_hexdec($color)
{
   if(!preg_match("/^[0-9a-z]{6,6}$/i",$color)) { $color = "000000"; }
   $color_array['0'] = hexdec(substr($color,0,2));
   $color_array['1'] = hexdec(substr($color,2,2));
   $color_array['2'] = hexdec(substr($color,4,2));
   return $color_array;
}

// String intercept By Bleakwind At http://www.weaverdream.com
// utf-8:$byte=3 | gb2312:$byte=2 | big5:$byte=2
function bite_str($string, $start, $len, $byte=3)
{
    $str     = "";
    $count   = 1;
    $str_len = strlen($string);
    for ($i=0; $i<$str_len; $i++) {
        if (($count+1-$start)>$len) {
            $str  .= "...";
            break;
        } elseif ((ord(substr($string,$i,1)) <= 128) && ($count < $start)) {
            $count++;
        } elseif ((ord(substr($string,$i,1)) > 128) && ($count < $start)) {
            $count = $count+2;
            $i     = $i+$byte-1;
        } elseif ((ord(substr($string,$i,1)) <= 128) && ($count >= $start)) {
            $str  .= substr($string,$i,1);
            $count++;
        } elseif ((ord(substr($string,$i,1)) > 128) && ($count >= $start)) {
            $str  .= substr($string,$i,$byte);
            $count = $count+2;
            $i     = $i+$byte-1;
        }
    }
    return $str;
}

// Encode a string
function str_encode($str)
{
   if(get_magic_quotes_gpc()) {
       $str = stripslashes($str);
   }

   $str = htmlspecialchars($str);

   $str = str_replace("|","&#124;",$str);
   $str = str_replace(".","&#46;",$str);

   $str = str_replace("\r","",$str);
   $str = str_replace("\n","<br>",$str);
   $str = str_replace(" ","&nbsp;",$str);

   $str = str_replace("\\","&#92;",$str);

   return $str;
}

// Decode a string
function str_decode($str)
{
   $str = str_replace("&amp;","&",$str);
   $str = str_replace("&quot;","\"",$str);
   $str = str_replace("&#39;","'",$str);
   $str = str_replace("&lt;","<",$str);
   $str = str_replace("&gt;",">",$str);

   $str = str_replace("&#124;","|",$str);
   $str = str_replace("&#46;",".",$str);

   $str = str_replace("<br>","\n",$str);
   $str = str_replace("&nbsp;"," ",$str);

   $str = str_replace("&#92;","\\",$str);

   return $str;
}

// Decode a string
function str_decode_str($str)
{
   $str = str_replace("&amp;","&",$str);
   $str = str_replace("&quot;","\"",$str);
   $str = str_replace("&#39;","'",$str);

   $str = str_replace("&#124;","|",$str);
   $str = str_replace("&#46;",".",$str);

   $str = str_replace("<br>","\n",$str);
   $str = str_replace("&nbsp;"," ",$str);

   $str = str_replace("&#92;","\\",$str);

   return $str;
}

// Decode a string for title
function str_decode_title($str)
{
   $str = str_replace("<br>","",$str);

   return $str;
}

// Check username
function check_username($str)
{
   global $LANGUAGE;
   if(!preg_match("/^[0-9a-z_]{3,60}$/",$str)) {
       header("location:prompt.php?act=failed&mes=".htmlentities(urlencode($LANGUAGE['warning_username'])));
       exit;
   } else {
       return $str;
   }
}

// Check password
function check_password($str)
{
   global $LANGUAGE;
   if(!preg_match("/^[0-9a-z_]{3,60}$/i",$str)) {
       header("location:prompt.php?act=failed&mes=".htmlentities(urlencode($LANGUAGE['warning_password'])));
       exit;
   } else {
       return $str;
   }
}

// Invert IP to address
function invert_ip($ip)
{
   global $SETTING;

   $ip_part    = explode(".",trim($ip));
   $ip_part[0] = sprintf("%03d", $ip_part[0]);

   $file_list  = array();
   if ($handle = opendir($SETTING['dir_ipdata'])) {
       while (false !== ($filename = readdir($handle))) {
           $filename_part = explode(".",$filename);
           if(trim($filename_part[0]) == trim($ip_part[0])) {

⌨️ 快捷键说明

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