>  기사  >  백엔드 개발  >  실용적인 PHP 스크립팅

실용적인 PHP 스크립팅

怪我咯
怪我咯원래의
2017-06-19 10:12:175301검색

이제 페이지 방문자가 어떤 브라우저를 사용하고 있는지 확인하는 등 좀 더 실용적인 스크립트를 작성해 보겠습니다. 이렇게 하려면 브라우저에서 보낸 HTTP 요청의 일부인 사용자 에이전트 문자열을 확인해야 합니다. 이 정보는 변수에 저장됩니다. PHP에서 변수는 항상 달러 기호로 시작합니다. 지금 우리가 관심 있는 변수는 $_SERVER['HTTP_USER_AGENT'] 입니다.

PS: $_SERVER는 특수 PHP 예약 변수로, 웹 서버에서 제공하는 모든 정보를 포함하며 superglobal 변수라고 합니다. 자세한 내용은 이 매뉴얼의 "수퍼글로벌 변수"를 참조하십시오. 이러한 특수 변수는 PHP » 4.1.0 버전에서 도입되었습니다. 그 전에 $HTTP_SERVER_VARS와 같은 $HTTP_*_VARS 배열을 사용하세요. 현재는 더 이상 사용되지 않지만 최신 버전에는 여전히 존재합니다("이전 코드" 섹션의 참고 참조).

변수를 표시하려면 다음을 수행하세요.

예제 #1 변수 ​​인쇄(배열 요소)

<?php 
echo  $_SERVER [ &#39;HTTP_USER_AGENT&#39; ]; 
?>

이 스크립트의 출력은 다음과 같습니다.

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

PHP 변수에는 다양한 유형이 있습니다. 위의 예에서는 배열의 셀을 인쇄했습니다. 배열은 매우 유용한 변수 유형입니다.

$_SERVER는 PHP가 자동으로 전역화하는 변수 중 하나일 뿐입니다. "사전 정의된 변수" 섹션을 확인하여 이러한 변수 목록을 보거나 이전 섹션의 예에서 phpinfo() 함수의 출력을 통해 볼 수 있습니다.

PHP 태그에 여러 개의 PHP 문을 추가할 수 있으며 간단한 에코 이상의 작업을 수행하는 코드 블록을 만들 수도 있습니다. 예를 들어, Internet Explorer를 식별해야 하는 경우 다음을 수행할 수 있습니다.

예제 #2 프로세스 제어함수 사용

<?php
if ( strpos ( $_SERVER [ &#39;HTTP_USER_AGENT&#39; ],  &#39;MSIE&#39; ) !==  FALSE ) {
    echo  &#39;正在使用 Internet Explorer。<br />&#39; ;
}
?>

이 스크립트의 출력은 다음과 같습니다.

正在使用 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 [ &#39;HTTP_USER_AGENT&#39; ],  &#39;MSIE&#39; ) !==  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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.