PHP get_browser: IE6 karşı ie7 tanımlamak için nasıl?

5 Cevap php

PHP'nin get_browser () işlevini kullanarak IE6 karşı IE7 ayırt etmek için herhangi bir yolu var mı?

5 Cevap

Sen gibi yapabilirsiniz:

$browser = get_browser();

if($browser->browser == 'IE' && $browser->majorver == 6) {
    echo "IE6";
} elseif($browser->browser == 'IE' && $browser->majorver == 7) {
    echo "IE7";
}

Yetkiliye hızlı bir bakış get_browser() documentation would of answered your question. Always read the documentation before.

I () nispeten yavaş bir fonksiyonu olduğunu get_browser okudum, bu yüzden hızlı bir şey arıyordum. Bu kod çıktısı, MSIE 7.0 için denetler "Otay!" eğer doğruysa. Bu temelde önceki sonrası, sadece daha fazla Özlü gibi aynı cevap. Ifadesi ise oldukça basittir:

<?php 
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0'))
    echo 'Otay!';
?>

Aşağıda here alınan tam bir örnektir.

$browser = get_browser();

switch ($browser->browser) {
    case "IE":
        switch ($browser->majorver) {
            case 7:
                echo '<link href="ie7.css" rel="stylesheet" type="text/css" />';
                break;
            case 6:
            case 5:
                echo '<link href="ie5plus.css" rel="stylesheet" type="text/css" />';
                break;
            default:
                echo '<link href="ieold.css" rel="stylesheet" type="text/css" />';
        }

        break;

    case "Firefox":
    case "Mozilla":
        echo '<link href="gecko.css" rel="stylesheet" type="text/css" />';
        break;

    case "Netscape":
        if ($browser->majorver < 5) {
            echo '<link href="nsold.css" rel="stylesheet" type="text/css" />';
        } else {
            echo '<link href="gecko.css" rel="stylesheet" type="text/css" />';
        }
        break;

    case "Safari":
    case "Konqueror":
        echo '<link href="gecko.css" rel="stylesheet" type="text/css" />';
        break;

    case "Opera":
        echo '<link href="opera.css" rel="stylesheet" type="text/css" />';
        break;

    default:
        echo '<link href="unknown.css" rel="stylesheet" type="text/css" />';
}

Mantık dahil ne stil sayfaları veya komut karar ise, koşullu yorumların HTML rota gidiş belki değer:

<!--[if IE 6]>
According to the conditional comment this is Internet Explorer 6<br />
<![endif]-->
<!--[if IE 7]>
According to the conditional comment this is Internet Explorer 7<br />
<![endif]-->

Eğer herhangi bir özel tarayıcı dizelerini olsun bu şekilde ve benzeri. Daha fazla bilgi QuirksMode.

Ben kendi amaçları için düzenlemek mümkün olduğunu koşullu bir PHP IE6 için farklı, çok basit bir çözüm buldu:

<?php  

// IE6 string from user_agent  
 $ie6 = "MSIE 6.0";  

// detect browser  
 $browser = $_SERVER['HTTP_USER_AGENT'];  

 // yank the version from the string  
 $browser = substr("$browser", 25, 8);  

 // if IE6 set the $alert   
 if($browser == $ie6){ 
      // put your code here    
 }  
 ?>

Tam komut burada bulunabilir:

http://www.thatgrafix.com/php_detect/