Как выводить сообщение для Agent browser Mozilla Firefox?

Тема в разделе "PHP", создана пользователем ValeriusSoft, 1 ноя 2015.

  1. ValeriusSoft

    ValeriusSoft

    Регистрация:
    4 фев 2015
    Сообщения:
    72
    Симпатии:
    29
    Я хочу выводить вот такую сообщение http://prntscr.com/8xqojg для тех гостей с других браузера.
    Раннее у меня был код на компе.. а сейчас не могу найти.
    Вот пример кода который выводит всю инфо про браузера юзера. Но это не нужно .

    PHP:
    <?php
    echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

    $browser get_browser(nulltrue);
    print_r($browser);
    ?>
    или


    PHP:
    <?php
    function getBrowser()
    {
        
    $u_agent $_SERVER['HTTP_USER_AGENT'];
        
    $bname 'Unknown';
        
    $platform 'Unknown';
        
    $version"";

        
    //First get the platform?
        
    if (preg_match('/linux/i'$u_agent)) {
            
    $platform 'linux';
        }
        elseif (
    preg_match('/macintosh|mac os x/i'$u_agent)) {
            
    $platform 'mac';
        }
        elseif (
    preg_match('/windows|win32/i'$u_agent)) {
            
    $platform 'windows';
        }
       
        
    // Next get the name of the useragent yes seperately and for good reason
        
    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
        {
            
    $bname 'Internet Explorer';
            
    $ub "MSIE";
        }
        elseif(
    preg_match('/Firefox/i',$u_agent))
        {
            
    $bname 'Mozilla Firefox';
            
    $ub "Firefox";
        }
        elseif(
    preg_match('/Chrome/i',$u_agent))
        {
            
    $bname 'Google Chrome';
            
    $ub "Chrome";
        }
        elseif(
    preg_match('/Safari/i',$u_agent))
        {
            
    $bname 'Apple Safari';
            
    $ub "Safari";
        }
        elseif(
    preg_match('/Opera/i',$u_agent))
        {
            
    $bname 'Opera';
            
    $ub "Opera";
        }
        elseif(
    preg_match('/Netscape/i',$u_agent))
        {
            
    $bname 'Netscape';
            
    $ub "Netscape";
        }
       
        
    // finally get the correct version number
        
    $known = array('Version'$ub'other');
        
    $pattern '#(?<browser>' join('|'$known) .
        
    ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
        if (!
    preg_match_all($pattern$u_agent$matches)) {
            
    // we have no matching number just continue
        
    }
       
        
    // see how many we have
        
    $i count($matches['browser']);
        if (
    $i != 1) {
            
    //we will have two since we are not using 'other' argument yet
            //see if version is before or after the name
            
    if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
                
    $version$matches['version'][0];
            }
            else {
                
    $version$matches['version'][1];
            }
        }
        else {
            
    $version$matches['version'][0];
        }
       
        
    // check if we have a number
        
    if ($version==null || $version=="") {$version="?";}
       
        return array(
            
    'userAgent' => $u_agent,
            
    'name'      => $bname,
            
    'version'   => $version,
            
    'platform'  => $platform,
            
    'pattern'    => $pattern
        
    );
    }

    // now try it
    $ua=getBrowser();
    $yourbrowser"Your browser: " $ua['name'] . " " $ua['version'] . " on " .$ua['platform'] . " reports: <br >" $ua['userAgent'];
    print_r($yourbrowser);
    ?>
     
    Последнее редактирование: 1 ноя 2015
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.380
    ну собственно в чём проблема? в вашем случае нужно выводить сообщение для всех, кроме хрома...
    PHP:
    if (!preg_match('/Chrome/i'$ua)) { echo 'Message'; }
    либо заюзать mobiledetect: http://mobiledetect.net/
    и будет
    PHP:
    if (!$detect->is('Chrome')) { echo 'Message'; }
    или вместо echo, редиректить на специальную страницу как делает вконтакт.
     
  3. ValeriusSoft

    ValeriusSoft

    Регистрация:
    4 фев 2015
    Сообщения:
    72
    Симпатии:
    29

    Получилось, большое спасибо

    вот мой код
    PHP:
    <?php
    if (!preg_match('/Chrome/i'$ua)) { echo '
    <center>    
      Наш сайт адаптирован под браузер <b>Google Chrome</b><div class="screenshot"><img src="http://port-ships.ru/themes/images/Chrome-Robotic-Icon-125.png"><div style="display:none;"></div></div><b><a rel="nofollow" href="http://www.google.com/chrome" target="_blank">Скачать/Download</a></b>    
      <div style="margin-top: 2px; border: 1px solid rgb(189, 189, 189); -moz-border-radius: 4px 4px 4px 4px; padding: 5px;">    
      В остальных браузерах наш сайт может отображаться некорректно! (IE,Opera,Mozilla Firefox и т.д)    
      </div>    
    </center>
    '
    ; }
    ?>