2011-03-15 3 views
0
<?php 
    $iphone = (bool) strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"); 
    $ipad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad'); 
    $android = (bool) strpos($_SERVER['HTTP_USER_AGENT'],"Android"); 
    $webos = (bool) strpos($_SERVER['HTTP_USER_AGENT'],"WebOS"); 
?> 

만약 아이폰 $ iphone == 1, 맞다면! Android 기기를 사용하는 경우 $ android == 1.php : 아니면 장치에 없다면 조건?

내가 해당 기기에없는 경우 어떻게 검색 할 수 있습니까?

<?php if (!$iphone || !$android || $webos) { ?> 

이 작동하지 않습니다! 왜냐하면 내가 예를 들어 아니 아이폰 $ iphone 아무것도 반환하지 않습니다 (0 또는 거짓)

어떻게 해결할 수 있습니까?

+2

브라우저 스니핑은 일반적으로 좋은 생각이 아닙니다. 브라우저가이를 스푸핑하거나 전송하지 않거나 아직 모르는 새 브라우저 일 수 있습니다. 사이트를 잘 디자인하여 CSS3 미디어 쿼리 등을 자세히 살펴보십시오. – tdammers

+0

@tdammers : 그는 예를 들어 이렇게하기를 원할 것입니다. 작은 화면 레이아웃으로 리디렉션합니다. 당신은 항상 그것을 밀폐시킬 필요가 없으며, 당신은 항상 위음매에 관심을 가지고 있지 않습니다. – Jon

+0

저는 css3 미디어 쿼리를 사용하고 있습니다. @ 존 정확히 내가 뭘하는지! – matt

답변

4

정말 간단합니다 :

<?php if (!$iphone && !$android && !$webos && !$ipad) { ?> 

나는 당신이 mindblock했다 같아요.

+0

아마도 "&&! $ ipad"를 추가해야 할 것입니다. – Riimu

+0

@Rinuwise : 추가되었습니다. – Jon

+0

고마워, 나 바보 야! – matt

0

원하십니까 & & 대신 ||

if (!$iphone && !$android && !$webos && !$ipad) { 
    // do stuff 
} 

이 말은 사용자가 이러한 장치를 사용하지 않을 경우에 발생합니다.