<?php
		// --------------------------------------------------------------------------
		//
		// File name   : class.function.lib.php
		// Description : 网站函数库
		// Requirement : - PHP5 (http://www.php.net)
		//
		// Copyright(C), 24dian.com, 2002-2010, All Rights Reserved.
		//
		// Author: 24点 (24dian@24dian.com) 
		//
		// --------------------------------------------------------------------------
		if(!defined("__CLASS_FUNCTION__"))
		{
				define("__CLASS_FUNCTION__",1);
				
				define('DIR_BASE', dirname(__FILE__));
				
				//得到来路ip函数
				function get_ip()
				{
						if (isset($_SERVER))
						{
								if (isset($_SERVER[HTTP_X_FORWARDED_FOR]))
								{
										$realip = $_SERVER[HTTP_X_FORWARDED_FOR];
								} 
								elseif (isset($_SERVER[HTTP_CLIENT_IP]))
								{
										$realip = $_SERVER[HTTP_CLIENT_IP];
								}
								else
								{
										$realip = $_SERVER[REMOTE_ADDR];
								}
						}
						else
						{
								if (getenv("HTTP_X_FORWARDED_FOR"))
								{
										$realip = getenv( "HTTP_X_FORWARDED_FOR");
								} 
								elseif (getenv("HTTP_CLIENT_IP"))
								{
										$realip = getenv("HTTP_CLIENT_IP");
								}
								else
								{
										$realip = getenv("REMOTE_ADDR");
								}
						}
						return $realip;
				}
				
				//IP转换为IP所在地区函数
				function convert_ip($ip)
				{
						$ip_num = trim($ip);
				
						$ip_num = addslashes($ip_num);
						$ip_detail = explode(".",$ip_num);
						
						if($ip_detail[0] == "127") return "本地机器";
						
						if($ip_detail[0] == 58)
						{
								$ip_data = file(DIR_BASE."/../ipdata/58.txt");							
						}
						elseif($ip_detail[0] == 59)
						{
								$ip_data = file(DIR_BASE."/../ipdata/59.txt");		
						}
						elseif($ip_detail[0] == 60)
						{
								$ip_data = file(DIR_BASE."/../ipdata/60.txt");	
						}
						elseif($ip_detail[0] == 61)
						{
								if($ip_detail[1]>=0 && $ip_detail[1]<=170)
								{
										$ip_data = file(DIR_BASE."/../ipdata/61.00.txt");
								}
								else
								{
										$ip_data = file(DIR_BASE."/../ipdata/61.01.txt");
								}						
						}
						elseif($ip_detail[0] == 112)
						{
								$ip_data = file(DIR_BASE."/../ipdata/112.txt");		
						}
						elseif($ip_detail[0] == 113)
						{
								$ip_data = file(DIR_BASE."/../ipdata/113.txt");		
						}
						elseif($ip_detail[0] >= 114 and $ip_detail[0] <= 120)
						{
								$ip_data = file(DIR_BASE."/../ipdata/114.txt");		
						}
						elseif($ip_detail[0] == 121)
						{
								$ip_data = file(DIR_BASE."/../ipdata/121.txt");		
						}
						elseif($ip_detail[0] == 122)
						{
								$ip_data = file(DIR_BASE."/../ipdata/122.txt");	
						}
						elseif($ip_detail[0] == 123)
						{
								$ip_data = file(DIR_BASE."/../ipdata/123.txt");
						}
						elseif($ip_detail[0] == 124)
						{
								$ip_data = file(DIR_BASE."/../ipdata/124.txt");
						}
						elseif($ip_detail[0] == 125)
						{
								$ip_data = file(DIR_BASE."/../ipdata/125.txt");
						}
						elseif($ip_detail[0] >= 180 && $ip_detail[0] <= 201)
						{
								$ip_data = file(DIR_BASE."/../ipdata/192.txt");
						}
						elseif($ip_detail[0] == 194)
						{
								$ip_data = file(DIR_BASE."/../ipdata/194.txt");
						}
						elseif($ip_detail[0] == 202)
						{
								$ip_data = file(DIR_BASE."/../ipdata/202.txt");		
						}
						elseif($ip_detail[0] == 203)
						{
								$ip_data = file(DIR_BASE."/../ipdata/203.txt");
						}
						elseif($ip_detail[0] == 210)
						{
								$ip_data = file(DIR_BASE."/../ipdata/210.txt");	
						}
						elseif($ip_detail[0] == 211)
						{
								$ip_data = file(DIR_BASE."/../ipdata/211.txt");	
						}
						elseif($ip_detail[0] == 218)
						{
								if($ip_detail[1]>=0 && $ip_detail[1]<=22)
								{
										$ip_data = file(DIR_BASE."/../ipdata/218.00.txt");
								}
								elseif($ip_detail[1]>22 && $ip_detail[1]<=74)
								{
										$ip_data = file(DIR_BASE."/../ipdata/218.01.txt");
								}
								else
								{
										$ip_data = file(DIR_BASE."/../ipdata/218.02.txt");
								}
						}
						elseif($ip_detail[0] == 219)
						{
								if($ip_detail[1]>=0 && $ip_detail[1]<=148)
								{
										$ip_data = file(DIR_BASE."/../ipdata/219.00.txt");
								}
								else
								{
										$ip_data = file(DIR_BASE."/../ipdata/219.01.txt");
								}
						}
						elseif($ip_detail[0] == 220)
						{
								$ip_data = file(DIR_BASE."/../ipdata/220.txt");
						}
						elseif($ip_detail[0] == 221)
						{
								$ip_data = file(DIR_BASE."/../ipdata/221.txt");
						}
						elseif($ip_detail[0] == 222)
						{
								if($ip_detail[1]>=0 && $ip_detail[1]<=160)
								{
										$ip_data = file(DIR_BASE."/../ipdata/222.00.txt");
								}
								else
								{
										$ip_data = file(DIR_BASE."/../ipdata/222.01.txt");
								}
						}
						else
						{
								$ip_data = file(DIR_BASE."/../ipdata/00.txt");
						}
						
						for($i = 0; $i < 4; $i++)
						{
								$ip_detail[$i] = sprintf("%03d", $ip_detail[$i]);
						}
						
						$ip = join(".",$ip_detail);
						$count = count($ip_data);
						
						for($i=0; $i<$count; $i++)
						{
								$ip_data_detail = explode("|",$ip_data[$i],5);
								
								if ($ip>=$ip_data_detail[0] && $ip<=$ip_data_detail[1])
								{
										$ip_area = $ip_data_detail[2].",".$ip_data_detail[3];
										
										return $ip_area;
								}
						}
						
						return "未知地区";
				}
		}
?>
