Red de conocimiento informático - Material del sitio web - Utilice un script PHP en WordPress para determinar de qué país es un visitante

Utilice un script PHP en WordPress para determinar de qué país es un visitante

Distinguir países por IP en PHP

¿Cómo distinguir países y regiones por IP en PHP? Maxmind.com ofrece una solución GeoIP para determinar el país de un visitante por IP en PHP en sólo unos sencillos pasos.

1. Descargue la base de datos y los archivos de la biblioteca PHP

Descargue GeoID.dat.gz,

Extráigalo en un archivo GeoIP.dat.

Descargar geoip.inc.

2. Obtenga información del país a partir del código PHP

El siguiente es un código de demostración que muestra cómo obtener el código y el nombre del país.

//Introducir el archivo de la biblioteca PHP

include("geoip.inc");

//Abrir local Base de datos donde se almacenan los datos en archivos GeoIP.

$geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD);

// Obtener IP del país

$countryCode = geoip_country_code_by_addr($geoData, $_ SERVER['REMOTE_ADDR']);

//Obtener el nombre del país

$countryName = geoip_country_name_by_addr($geoData, $_SERVER['REMOTE_ADDR']);

>// Cerrar la base de datos local

geoip_close($geoData);

Distinguir países por IP en WordPress

Dado que se puede usar en PHP, en WordPress Debe ser posible en China. Veamos cómo funciona.

1. Descomprima el archivo de base de datos

GeoIP.dat en el directorio raíz de WordPress. (Puede encontrar el archivo wp-config.php o

wp-config-sample.php en este directorio)

2. Escriba la interfaz de llamada

. En Crear una nueva carpeta, inclúyala en el directorio del tema y coloque geoip.inc en la nueva carpeta. Y crea un nuevo archivo geoip.php

El contenido del archivo es el siguiente.

include('geoip.inc');

global $countryCode;

$geoData = geoip_open(' GeoIP.dat', GEOIP_STANDARD);

$countryCode = geoip_open('GeoIP.dat', GEOIP_STANDARD);

$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR' ]);

geoip_close($geoData);

Aquí solo obtenemos el código de país. Además, el código de país es una variable global, por lo que no es necesario acceder repetidamente a GeoIP.dat para obtener información para múltiples juicios en la página, lo que reduce la sobrecarga del programa.

2. Llame a la interfaz para obtener el código de país.

3. Abra el archivo header.php y agregue el siguiente código en la parte superior del archivo.

1

4. Llame al código en el tema, el ejemplo es el siguiente.

global $countryCode;

if($countryCode == 'CN') {

// En China Ejecutar código en China continental

} else if($countryCode == 'US') {

// Ejecutar código en Estados Unidos

} else {

// Ejecutar código fuera de China y Estados Unidos

} >

Algunas personas pueden preguntar: ¿cuáles son las implicaciones de agregar dicha característica? ¿Necesitas un servidor potente? He probado que los servidores normales apenas afectarán el rendimiento de carga de la página. Puedes echar un vistazo a la velocidad de este blog.

Si no estás seguro, puedes probarlo tú mismo.

Si no estás seguro, pruébalo tú mismo.