Método PHP, método Asp, método MsSQL, método MySQL para convertir la dirección IP en un número entero.
El principio de conversión supone que la IP es w x y z, y la fórmula de cálculo para convertir una dirección IP en un número entero es intip = * * * w+ * * x+* y+z.
El método de conversión de PHP a PHP es relativamente sencillo.
Tiene dos funciones integradas, int ip long (cadena $ip_address) y string long IP (cadena $ prop _ dirección. Puede llamar directamente a la función personalizada de conversión usando ~
Asp de la siguiente manera |? Descripción: ¿Convertir IP a número int? |?Autor:abandonar barco | ~ ~ función IP num(byval strip)dim nindex dim arrip arrip = split(strip " ")for nindex = to if not nindex = then arrip(nindex)= arrip(nindex)*(^ (nindex))finalizar si nip = nip+arrip(nindex)siguiente IP num = función final de nip |? Descripción: ¿Convertir un número entero a IP? |?Autor:abandonar el barco | ~ ~ Función Num IP(ByVal nIP)Dim strIP Dim nTemp Dim nIndex Para nIndex = ¿Al paso? nTemp = Int(nIP / ( ^ nÍndice))? strip = strip& ampnTemp & amp" " ?nIP = nIP (nTemp * ( ^ nIndex )) next strip = left (strip_length(strip)) Num IP = función de fin de strip
La conversión de MsSQL personalizada La función es la siguiente:/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *? ¿Convertir IP a número int |? *?Código creado por abandono|? * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */CREATE FUNCTION[dbo][ippoint](@ strIp varchar()?) devuelve bigint? ¿Como? COMENZAR declarar @nIp bigint set @nIp =? ¿elegir? @ nIp = @ nIp+LEFT(@ strIp charindex(@ strIp+)* Id de(select Id = cast(* * * as bigint)union all select * * union all select * union all select?) as T? return (@ nIp)Fin /****************************************** *** *************** ?*?Convertir número int a IP |? *?Código creado por abandonship|? * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */CREAR FUNCIÓN[dbo ][intto IP](?@nIp bigint?) return varchar()? como? COMENZAR declarar @strIp varchar()set @strIp = seleccionar @strip++ cast(@nIp/ID como varchar)@
nIp = @ nIp % ID? from(select ID = cast(* * * as bigint)union all select * * union all select * union all select?) as T return (stuff(@strIp))? ¿Finalizar?
Lishi Xinzhi/Article/program/PHP/201311/21328