2012-01-05 3 views
0

내가이 먹고 싶어 :이 세 변수를 함수 또는 배열에 넣는 것이 현명한 방법입니까?

$xp = '(Windows NT 5.1)'; 
$vista = '(Windows NT 6.0)'; 
$win7 = '(Windows NT 6.1)'; 

을 그리고 함수 승리에 넣어 {}. 사람이 윈도우 OS를 사용하는 경우 출력이 너무 이길 $ 것이라고 그때 ... 목록 다른 것처럼

를 사용할 수 있습니다 또는 내가 사용 좋을 것 있도록

기본적으로 내가 원하는 이걸 배열로?

이것이 가능합니까? 혼란스러워서 미안해 할 수도 있습니다. 그렇다면 정확하게 설명하는 방법을 모르겠습니다.

+2

방금 ​​문자열의 존재 여부를 확인할 수 없습니다 '사용자 에이전트 문자열에서? – anubhava

+0

@anubhava 예로서 이것을 사용하고 있습니다. 원하는 것으로 바꾸십시오. –

+0

@MattRidge : 그럼 어떻게 하시겠습니까? 무엇으로 대체 하시겠습니까? Windows를 확인하지 않습니까? –

답변

2

내가 사용할 수있는 정확한 플랫폼 결과에 대한 모르겠지만,이 가까워 야한다 :` '창'

$win = Array('WinXP','WinVista','Win7'); 
$browser = get_browser(null, true); 
if(array_search($browser['platform'],$win)) 
{ 
    echo('The user is using ' . $browser['platform'] . 'and it is contained in my array.'); 
} 

Determine client OS in PHP

+0

HTTP_USER_AGENT를 사용하면 내가 사용중인 결과가 나타납니다. 그래서 당신의 예를 들어 나는 거기에 세 자리에 나열된 세 가지를 가지고 줄거야? 그냥 궁금해서 어떻게 실제로 작동합니까? 나는 그것이 작동하는 것을 안다, 나는 단지 정확하게 방법을 이해하지 않는다. 조금 설명 할 수 있니? –

+0

get_browser 문서에서 Windows 플랫폼 용으로 반환되는 옵션 중 일부로 "WinXP", "WinNT"및 "Windows"를 사용하는 것으로 나타났습니다. 나는 더 많은 것이 있다고 상상할 것이다. 검색하려는 예상 플랫폼 유형을 포함하도록 $ win 배열을 추가/수정하면됩니다. –

+0

이 오류가 발생합니다. browscap ini 지시문이 설정되어 있지 않습니다. –

1

배열에 넣는 대신 사용자가 사용하는 정확한 버전의 Windows가 필요하지 않은 경우 사용자 에이전트에 Windows가 있는지 확인하기 위해 strpos와 같은 것을 실행합니다.

정확하게 사용하고있는 버전을 알고 싶다면 키 = 값 쌍 어레이에 넣는 것이 좋습니다. Windows보다 버전이 많으므로.

+0

나는 이것을 브라우저에도 사용하기 때문에 필요하다. 그게 더 나은지 묻는 것뿐입니다. –

1

예, 배열을 사용하십시오. 그렇지 않으면 Windows 8이 나올 때 새로운 코드를 추가해야합니다.

전용 함수 - isWindows와 같은 것 - 문자열을 받고 문자열이 Windows를 포함하는지 여부에 따라 부울을 반환하는 코드. 그런 다음 실제로 탐지를 수행하는 방법은 함수 내에 포함됩니다. get_browser를 호출 할 때

+0

어떻게 할 수 있습니까? –

+0

아이폰에 너무 변명하지만 뭔가 아이크 $ 윈도우 = 배열 ​​(windows1, windows2); return in_array ($ string, $ windows); –

관련 문제