Исправление определения ip у оперы мини и ip 127.255.255.255 у гостей

910
.
Ну айпи показывает у 2 юзеров 0.0.0 и т.д
.
Максим
В стельку трезвый
Mustang, у оперы мини или стандартной?
.
все лучшее детям
Изменил , сейчас правильно показывает ай пи
.
Вроде робит:-)
.
А у меня вопрос (не по теме) как можно определить модель телефона даже если человек с ОМ?
.
/** 
 * $type = 0 , тогда выводит  только название браузера
 * $type = 1 , тогда выводит  полную информацию о браузере
 */
function browser($type = 0)
{
    global $_SERVER;
    if(isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA']))
    {
        $browsus = htmlentities($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'],ENT_QUOTES,'utf-8');
    }elseif(isset($_SERVER['HTTP_USER_AGENT']))
    {
        $browsus= htmlentities($_SERVER['HTTP_USER_AGENT'],ENT_QUOTES,'utf-8');
    }else{
        $browsus='Не определён';
    }
    $brow=preg_replace('|http://|i','', $browsus);
    $brow=preg_replace('|ftp://|i','', $browsus);
    switch($type)
    {
        case "1":
        $brow=strtok($brow,'(');
        $brow=strtok($brow,' ');
        $brow=substr($brow,0,22);
        $browser = htmlentities($brow,ENT_QUOTES,'utf-8');
        break;
        case "0":
        $browser = htmlentities($brow,ENT_QUOTES,'utf-8');
        break;
        default:
        $browser = FALSE;
        break;
    }
    return $browser;
}
.
использовать вот так

echo 'Ваш браузер'.browser(0).'<br/>';
.
извеняюсь наоборот
0 - полная инфа
1 - только название
.
Color Is Life...
Спасибо за хак!
.
В стельку трезвый
В связи с возникновением у многих загадочного ip 127.255.255.255 у гостей, выкладываю исправлялку. ))
Такой ip возникает не на всех хостингах. Связано это с тем что тип int не может вместить число после преобразования в long формат и получается записывается максимально возможное и все. После обратного преобразования этот ip выглядит как 127.255.255.255.
Для исправления надо ставить тип вместо int, bigint
Чтобы не менять вручную, качайте прикреплённый файл, извлекайте и запускайте. После запуска удаляйте и всё.
Прикрепленные файлы:
Всего: 55