У меня есть файл PHP со следующим кодом для определения страны пользователя:
<?php
// This code demonstrates how to lookup the country by IP Address
include("geoip/src/geoip.inc");
// Uncomment if querying against GeoIP/Lite City.
// include("geoipcity.inc");
$gi = geoip_open("geoip/src/GeoIP.dat", GEOIP_STANDARD);
$ip = $_SERVER['REMOTE_ADDR'];
if ( strpos($ip, ":") ) {
echo 'your country is ' . geoip_country_code_by_addr_v6($gi, $_SERVER['REMOTE_ADDR']);
}
else {
echo 'your country is ' . geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
}
geoip_close($gi);
?>
Хорошо работает при прямой загрузке, как вы можете видеть здесь http://de.wikiarquitectura.com/skins/mirlo/geoip/find_country.php
Затем у меня есть другой файл PHP, в который я включаю первый, используя следующий код include("skins/mirlo/geoip/find_country.php");
но вместо того, чтобы вставить тот же результат, который вы получаете, загружая его самостоятельно на страницу, он вставляет только первую часть (часть IP) и убивает страницу, предотвращая ее дальнейшую загрузку. Вы можете видеть это здесь: http://de.wikiarquitectura.com/index.php/Quelle_der_vier_Fl%C3%BCsse
Комментируя, я проверил, что проблема возникает в строке 7 приведенного выше кода $gi = geoip_open("geoip/src/GeoIP.dat", GEOIP_STANDARD);
но я не понимаю, почему он работает при прямой загрузке и отправляется при включении в другой файл.
Я включаю это неправильно? Есть идеи?
Спасибо!
Задача ещё не решена.
Других решений пока нет …