update : 2015.11.03
php.shukuma.com검색:
|
유용한 기능들이제 더 유용한 무언가를 해봅시다. 방문자가 사용하는 브라우저의 종류를 확인할 것입니다. 이를 위해서, 브라우저가 HTTP 요청의 부분으로 보내는 user agent 문자열을 확인합니다. 이 정보는 변수에 기록되어 있습니다. PHP에서 변수는 항상 달러표시($)로 시작합니다. 여기서 다룰 변수는 $_SERVER['HTTP_USER_AGENT']입니다.
이 변수를 표시하기 위해서는, 간단히 다음과 같이 하면 됩니다:
Example #1 변수 출력하기 (배열 원소)
<?php 이 스크립트의 출력 예제는 다음과 같습니다: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) PHP에는 많은 변수의 형이 존재합니다. 위 예제에서는 배열 원소를 출력했습니다. 배열은 매우 유용합니다. $_SERVER는 PHP가 자동적으로 생성하는 변수 중의 하나에 불과합니다. 매뉴얼의 예약 정의 변수를 보거나, 이전 섹션의 예제에서 사용한 phpinfo() 함수의 출력에서 전체 목록을 얻을 수 있습니다. PHP 태그 안쪽으로 하나의 echo뿐이 아닌 여러개의 PHP문을 넣어서 작은 코드 블럭을 만들 수 있습니다. 예를 들면, Internet Explorer를 체크하고 싶다면 다음과 같이 할 수 있습니다:
<?php 이 스크립트의 출력 예제: Internet Explorer를 사용하고 있습니다.<br /> 여기서 두가지 새로운 컨셉을 소개합니다. PHP에는 if문이 있습니다. C 언어에서 사용하는 기본 문법에 친숙하다면, 이것은 매우 논리적으로 보일 것입니다. 그렇지 않으면, PHP 소개서를 구해서 첫부분을 읽어보거나, 매뉴얼의 언어 레퍼런스 부분을 읽어보십시오.
두번째 컨셉은 strpos() 함수 호출입니다.
strpos()는 하나의 문자열을 다른 문자열에서 찾아내는 PHP
내장 함수입니다. 여기서는
$_SERVER['HTTP_USER_AGENT'](haystack이라고 합니다)
안에서 'MSIE'(needle이라고 합니다)를 찾아봅시다.
haystack 안에서 needle을 발견하면, 이 함수는 haystack의 첫번째 문자로부터
needle의 위치를 반환합니다. 발견하지 못했다면 한걸음 더 나아가서, PHP 블록 안에서 어떻게 PHP 모드를 드나드는지 알아봅시다:
Example #3 HTML과 PHP 모드 섞기
<?php 이 스크립트의 출력 예제: <h3>strpos()는 false가 아닌 것을 반환했습니다.</h3> <p>Internet Explorer를 사용하고 있습니다.</p> PHP echo문을 이용한 출력 방법 대신, PHP 모드를 빠져나가서 직접 HTML을 전송할 수 있습니다. 여기서 주의해야할 중요하고 강력한 점은 스크립트의 논리적 흐름이 유지되고 있는 점입니다. strpos()의 결과값에 따라서 오직 하나의 HTML 블록만이 보여지게 됩니다. 즉, MSIE의 발견 여부에 따르게 됩니다. |