我有一个包含以下代码的 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);
但我不明白为什么它在直接加载它时会起作用,并且在将它包含到另一个文件时确实会发送。
我把它包括错了吗?有任何想法吗?
谢谢!