이제 페이지 방문자가 어떤 브라우저를 사용하고 있는지 확인하는 등 좀 더 실용적인 스크립트를 작성해 보겠습니다. 이렇게 하려면 브라우저에서 보낸 HTTP 요청의 일부인 사용자 에이전트 문자열을 확인해야 합니다. 이 정보는 변수에 저장됩니다. PHP에서 변수는 항상 달러 기호로 시작합니다. 지금 우리가 관심 있는 변수는 $_SERVER['HTTP_USER_AGENT'] 입니다.
PS: $_SERVER는 특수 PHP 예약 변수로, 웹 서버에서 제공하는 모든 정보를 포함하며 superglobal 변수라고 합니다. 자세한 내용은 이 매뉴얼의 "수퍼글로벌 변수"를 참조하십시오. 이러한 특수 변수는 PHP » 4.1.0 버전에서 도입되었습니다. 그 전에 $HTTP_SERVER_VARS와 같은 $HTTP_*_VARS 배열을 사용하세요. 현재는 더 이상 사용되지 않지만 최신 버전에는 여전히 존재합니다("이전 코드" 섹션의 참고 참조).
변수를 표시하려면 다음을 수행하세요.
예제 #1 변수 인쇄(배열 요소)
<?php echo $_SERVER [ 'HTTP_USER_AGENT' ]; ?>
이 스크립트의 출력은 다음과 같습니다.
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
PHP 변수에는 다양한 유형이 있습니다. 위의 예에서는 배열의 셀을 인쇄했습니다. 배열은 매우 유용한 변수 유형입니다.
$_SERVER는 PHP가 자동으로 전역화하는 변수 중 하나일 뿐입니다. "사전 정의된 변수" 섹션을 확인하여 이러한 변수 목록을 보거나 이전 섹션의 예에서 phpinfo() 함수의 출력을 통해 볼 수 있습니다.
PHP 태그에 여러 개의 PHP 문을 추가할 수 있으며 간단한 에코 이상의 작업을 수행하는 코드 블록을 만들 수도 있습니다. 예를 들어, Internet Explorer를 식별해야 하는 경우 다음을 수행할 수 있습니다.
예제 #2 프로세스 제어함수 사용
<?php if ( strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], 'MSIE' ) !== FALSE ) { echo '正在使用 Internet Explorer。<br />' ; } ?>
이 스크립트의 출력은 다음과 같습니다.
正在使用 Internet Explorer。<br />
여기에 몇 가지 새로운 원칙이 소개됩니다. . 위에서는 if 문을 사용했습니다. 사용자가 C 언어의 기본 구문에 익숙하다면 이에 대해 잘 알고 있어야 합니다. 그렇지 않으면 PHP 입문 책을 선택하여 처음 두세 장을 읽거나 "언어"를 읽어야 할 수도 있습니다. 본 설명서 참조' 장의 섹션을 참조하세요.
소개해야 할 두 번째 원칙은 strpos() 함수 호출입니다. strpos()는 PHP의 내장 함수입니다. 이 함수는 문자열에서 다른 문자열을 검색하는 것입니다. 예를 들어, 이제 $_SERVER['HTTP_USER_AGENT'](소위 haystack) 변수에서 'MSIE'를 찾아야 합니다. 이 건초 더미에서 문자열(소위 바늘)이 발견되면("바늘 찾기") 함수는 시작 부분을 기준으로 건초 더미에서 바늘의 위치를 반환합니다. 그렇지 않으면 FALSE를 반환합니다. 함수가 FALSE 를 반환하지 않으면 조건을 TRUE로 평가하고 중괄호 {} 내에서 코드를 실행합니다. 그렇지 않으면 코드가 실행되지 않습니다. if, else 및 strtoupper() 및 strlen()과 같은 기타 함수를 사용하여 유사한 스크립트를 직접 만들 수 있습니다. 본 매뉴얼의 관련 페이지에도 예제가 포함되어 있습니다. 함수 사용법을 잘 모르는 경우에는 설명서에서 "함수 정의 읽는 방법" 및 "함수"에 대한 관련 장을 읽어보세요.
아래에서는 PHP 코드 블록 중간에도 PHP 모드에 들어가고 나오는 방법을 자세히 보여줍니다.
예제 #3 HTML과 PHP 모드 혼합
<?php if ( strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], 'MSIE' ) !== FALSE ) { ?> <h3>strpos() 肯定没有返回假 (FALSE)</h3> <p>正在使用 Internet Explorer</p> <?php } else { ?> <h3>strpos() 肯定返回假 (FALSE)</h3> <center><b>没有使用 Internet Explorer</b></center> <?php } ?>
이 스크립트의 출력은 다음과 같습니다.
<h3>strpos() 肯定没有返回假 (FALSE)</h3> <p>正在使用 Internet Explorer</p>
그리고 위에서는 PHP를 사용합니다. 출력할 echo 문과의 차이점은 PHP 모드에서 벗어나 HTML 코드를 직접 작성했다는 것입니다. 여기서 스크립트의 논리적 효율성은 두 경우 모두 동일하다는 점에 유의하는 것이 중요합니다. strpos() 함수의 반환 값이 TRUE인지 FALSE인지, 즉 문자열 'MSIE'가 있는지 판단한 후 최종적으로 하나의 HTML 블록만 뷰어에게 전송됩니다.
위 내용은 실용적인 PHP 스크립팅의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!