Romain
Новичок
Добрый день! Мучаюсь не могу найти баг.
В зависимости от принадлежности к IP дает результат. Где баг?! Спасибо заранее.
В зависимости от принадлежности к IP дает результат. Где баг?! Спасибо заранее.
PHP:
$aRedirectIps = array(
array(
//IP оператора 1
'ip_start' => '213.132.82.0',
'ip_end' => '213.132.82.255',
'url' => $RedirectURL
),
array(
//IP оператора 2
'ip_start' => '188.162.176.0',
'ip_end' => '188.162.191.255',
'url' => $RedirectURL
),
);
function sGetRedirectUrl($sIp, $aRedirectIps){
$ilIp = ip2long($sIp);
foreach($aRedirectIps as $aIpPacket){
if (
(ip2long($aIpPacket['ip_start']) <= $ilIp)
and
(ip2long($aIpPacket['ip_end']) >= $ilIp)
){
return $aIpPacket['url'];
}
}
return false;
}
function bIsOperaMini() {
return isset($_SERVER['HTTP_USER_AGENT'])
&& (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'opera mini') !== false);
}
function sFetchProxyClientIP() {
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
list($ip) = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
}
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
function sGetIP(){
if(bIsOperaMini()){
return sFetchProxyClientIP();
}
else {
return $_SERVER['REMOTE_ADDR'];
}
}
$sUrl = sGetRedirectUrl(sFetchProxyClientIP(), "");
sFetchProxyClientIP(); sGetIP();
if ($sUrl = true) { echo "111";
}
if (!($sUrl = true)){
echo "222";}