다음 줄에 따라 다른 버전의 Internet Explorer에 대해 PHP에서 조건부를 수행하고 싶습니다.
if($browser == ie6){ //do this} elseif($browser == ie7) { //dothis } elseif...
비슷한 코드에서 많은 변형을 보았지만 간단한 if 및 else 작업을 수행하고 다른 작업을 수행하기 위해 코딩하기 매우 쉬운 매우 간단한 것을 찾고 있습니다.
감사
편집 : 사용자에게 다른 메시지를 표시하려면 CSS 조건 등이 좋지 않습니다.
답변
이것이 IE8 이하를 확인하는 변형을 사용하여 끝낸 것입니다.
if (preg_match('/MSIE\s(?P<v>\d+)/i', @$_SERVER['HTTP_USER_AGENT'], $B) && $B['v'] <= 8) {
// Browsers IE 8 and below
} else {
// All other browsers
}
답변
IE10 및 IE11 모두에서 계속 작동하는 버전 :
preg_match('/MSIE (.*?);/', $_SERVER['HTTP_USER_AGENT'], $matches);
if(count($matches)<2){
preg_match('/Trident\/\d{1,2}.\d{1,2}; rv:([0-9]*)/', $_SERVER['HTTP_USER_AGENT'], $matches);
}
if (count($matches)>1){
//Then we're using IE
$version = $matches[1];
switch(true){
case ($version<=8):
//IE 8 or under!
break;
case ($version==9 || $version==10):
//IE9 & IE10!
break;
case ($version==11):
//Version 11!
break;
default:
//You get the idea
}
}
답변
HTTP_USER_AGENT 서버 변수를 확인할 수 있습니다. IE가 전송 한 사용자 에이전트에는 MSIE 가 포함되어 있습니다.
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { ... }
특정 버전의 경우 조건을 확장 할 수 있습니다.
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== false) { ... }
이 관련 질문 도 참조하십시오 .
답변
다음은 PHP에서 브라우저를 감지하는 데 유용한 리소스입니다. http://php.net/manual/en/function.get-browser.php
다음은 가장 간단 해 보이는 예 중 하나입니다.
<?php
function get_user_browser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$ub = '';
if(preg_match('/MSIE/i',$u_agent))
{
$ub = "ie";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$ub = "firefox";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$ub = "safari";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$ub = "chrome";
}
elseif(preg_match('/Flock/i',$u_agent))
{
$ub = "flock";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$ub = "opera";
}
return $ub;
}
?>
그런 다음 나중에 코드에서 다음과 같이 말할 수 있습니다.
$browser = get_user_browser();
if($browser == "ie"){
//do stuff
}
답변
나는 이것을한다
$u = $_SERVER['HTTP_USER_AGENT'];
$isIE7 = (bool)preg_match('/msie 7./i', $u );
$isIE8 = (bool)preg_match('/msie 8./i', $u );
$isIE9 = (bool)preg_match('/msie 9./i', $u );
$isIE10 = (bool)preg_match('/msie 10./i', $u );
if ($isIE9) {
//do ie9 stuff
}
답변
PHP는 get_browser () 라는 함수를 가지고 있습니다.이 함수 는 사용자의 브라우저에 대한 세부 정보와 할 수있는 작업과 함께 객체 (또는 원하는 경우 배열 ) 를 반환합니다.
간단히 살펴보면 다음 코드가 제공됩니다.
$browser = get_browser( null, true );
if( $browser['name'] == "Firefox" )
if( $browser['majorversion'] == 4 )
echo "You're using Firefox version 4!";
이것은 확실한 방법은 아니지만 ( 스푸핑 될 수 있고 때로는 php에 의해 잘못 분석 될 수있는 HTTP_USER_AGENT 에서 읽음 ), 내가 아는 한 가장 쉽게 찾을 수있는 방법입니다.
답변
if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/(?i)msie|trident|edge/",$_SERVER['HTTP_USER_AGENT'])) {
// eh, IE found
}
