📄 function.asp
字号:
<%
'-------------------------------------------------------------------------------------
'转发时请保留此声明信息,这段声明不并会影响你的速度!
'************************** 【盛云网络IP2城市数据库】 ********************************
'作者:o摆摆o0O 演示地址:http://www.sonrun.com/demo/ip
'官方网站:http://www.sonrun.com 技术论坛:http://www.sonrun.com/bbs
'电子邮件:sonrun@163.com 在线QQ:4033617
'版权声明:版权没有,盗版不究,各种用途均可免费使用。
'IP数据库将会不定期更新,欢迎大家到本站免费下载最新版!
'真正的IP地址转换为城市数据库,优化数据库结构,并且采用Cookies保存城市信息,查询速度更快!
'--------------------------------------------------------------------------------------
%>
<%
Dim IP_address,IP_rs,CIP,IP_conn,IP_connstr,IP_province,IP_city,rs,IP_py
Const DataType=0 '0为Access数据库,1为SQL Server数据库
Const MdbPath="IP_Address.mdb" '如果是SQL Server数据库,此项留空
ip_address=Request.ServerVariables("REMOTE_ADDR") '获取客户端IP地址
Function GetRegion()
If Request.Cookies("sonrun")("IP_province")&""<>"" And Request.Cookies("sonrun")("IP_city")&""<>"" And Request.Cookies("sonrun")("IP_py")&""<>"" Then
IP_province=Request.Cookies("sonrun")("IP_province")
IP_city=Request.Cookies("sonrun")("IP_city")
IP_py=Request.Cookies("sonrun")("IP_py")
Else
Call SelectData()
Response.Cookies("sonrun")("IP_province")=IP_province
Response.Cookies("sonrun")("IP_city")=IP_city
Response.Cookies("sonrun")("IP_py")=IP_py
Response.Cookies("sonrun").Expires=Date+1
End If
End Function
Sub IPConn()
On Error Resume Next
If DataType=0 Then
IP_connstr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath(MdbPath)
Else
IP_connstr="driver={SQL Server}; server=127.0.0.1;database=IP_Address;uid=sa;pwd="
End If
Set IP_conn=Server.CreateObject("Adodb.Connection")
IP_conn.Open IP_connstr
If Err.Number<>0 Then
Err.Clear
Response.Write("数据库连接失败!")
Response.End()
End If
End Sub
Function IP2Num(IP) '将IP转换为数字格式
Dim IPArr
IPArr=Split(IP,".")
IP2Num=Int(IPArr(0))*256*256*256+Int(IPArr(1))*256*256+Int(IPArr(2))*256+Int(IPArr(3))
End Function
Function SelectData()
If ip_address<>"" Then
CIP=IP2Num(ip_address)
Call IPConn()
Set IP_rs=IP_conn.Execute("select top 1 city,province from ip_address where "&CIP&">=ip1 and "&CIP&"<=ip2 order by id desc")
If IP_rs.Eof Then
IP_province="北京"
IP_city="北京"
IP_py="bj"
Else
IP_province=IP_rs(1)
IP_city=IP_rs(0)
Set rs=IP_conn.Execute("select pinyin from city_py where city='"&IP_city&"'")
IP_py=rs(0)
rs.Close
Set rs=Nothing
End if
IP_rs.Close
Set IP_rs=Nothing
IP_conn.Close
Set IP_conn=Nothing
Else
IP_province="北京"
IP_city="北京"
End If
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -