PHP 초 전역 변수 구현 원리 및 코드 분석

초 전역 변 수 는 PHP 4.1.0 에 도입 되 며 모든 역할 영역 에서 항상 사용 할 수 있 는 내장 변수 입 니 다.
PHP 초 전역 변수
PHP 의 많은 미리 정 의 된 변 수 는'초 전역 적'입 니 다.이것 은 스 크 립 트 의 모든 역할 영역 에서 사용 할 수 있 음 을 의미 합 니 다.함수 나 방법 에서 global$variable 를 실행 할 필요 가 없습니다.그들 을 방문 할 수 있 습 니 다.
이 초 전역 변 수 는:
  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
  • 이 절 은 초 전역 변 수 를 소개 하고 나중에 장 에서 다른 초 전역 변 수 를 설명 할 것 입 니 다.
    $GLOBALS-전역 역할 영역 에서 사용 가능 한 모든 변 수 를 참조 합 니 다.
    $GLOBALS 라 는 전역 변 수 는 PHP 스 크 립 트 의 임의의 위치 에서 전역 변 수 를 방문 하 는 데 사 용 됩 니 다(함수 나 방법 에서 모두 가능 합 니 다).
    PHP 는$GLOBALS[index]라 는 배열 에 모든 전역 변 수 를 저장 합 니 다.변수의 이름 은 배열 의 키 입 니 다.
    다음 예 는 슈퍼 전역 변 수 를 사용 하 는 방법 을 보 여 줍 니 다$GLOBALS:
    실례
    
    <?php 
    $x = 75; 
    $y = 25;
     
    function addition() { 
     $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
    }
     
    addition(); 
    echo $z; 
    ?>
    위의 예 에서 z 는$GLOBALS 배열 의 변수 이기 때문에 함수 밖에서 도 접근 할 수 있 습 니 다.
    PHP $_SERVER
    $_SERVER 라 는 초 전역 변 수 는 헤더,경로,스 크 립 트 위치 에 대한 정 보 를 저장 합 니 다.
    아래 의 예 는$를 어떻게 사용 하 는 지 보 여 줍 니 다.SERVER 의 일부 요소:
    실례
    
    <?php 
    echo $_SERVER['PHP_SELF'];
    echo "<br>";
    echo $_SERVER['SERVER_NAME'];
    echo "<br>";
    echo $_SERVER['HTTP_HOST'];
    echo "<br>";
    echo $_SERVER['HTTP_REFERER'];
    echo "<br>";
    echo $_SERVER['HTTP_USER_AGENT'];
    echo "<br>";
    echo $_SERVER['SCRIPT_NAME'];
    ?>
    아래 표 는 당신 이$SERVER 에서 방문 하 는 가장 중요 한 요소:
    요소/코드
    묘사 하 다.
    $_SERVER['PHP_SELF']
    현재 실행 중인 스 크 립 트 의 파일 이름 을 되 돌려 줍 니 다.
    $_SERVER['GATEWAY_INTERFACE']
    서버 에서 사용 하 는 CGI 규범 버 전 을 되 돌려 줍 니 다.
    $_SERVER['SERVER_ADDR']
    현재 실행 중인 스 크 립 트 가 있 는 서버 의 IP 주 소 를 되 돌려 줍 니 다.
    $_SERVER['SERVER_NAME']
    현재 실행 중인 스 크 립 트 가 있 는 서버 의 호스트 이름(예:www.w3school.com.cn)을 되 돌려 줍 니 다.
    $_SERVER['SERVER_SOFTWARE']
    서버 표시 문자열 을 되 돌려 줍 니 다(예:아파 치/2.2.24).
    $_SERVER['SERVER_PROTOCOL']
    요청 페이지 를 되 돌 릴 때 통신 프로 토 콜 의 이름과 버 전(예:"HTTP/1.0").
    $_SERVER['REQUEST_METHOD']
    방문 페이지 에 사용 할 요청 방법(예:POST)을 되 돌려 줍 니 다.
    $_SERVER['REQUEST_TIME']
    요청 이 시 작 될 때의 시간 스탬프 를 되 돌려 줍 니 다(예:1577687494).
    $_SERVER['QUERY_STRING']
    검색 문자열 을 되 돌려 줍 니 다.검색 문자열 을 통 해 이 페이지 에 접근 하면.
    $_SERVER['HTTP_ACCEPT']
    현재 요청 한 요청 헤 더 를 되 돌려 줍 니 다.
    $_SERVER['HTTP_ACCEPT_CHARSET']
    현재 요청 한 Accept 를 되 돌려 줍 니 다.Charset 헤드(예:utf-8,ISO-8859-1)
    $_SERVER['HTTP_HOST']
    현재 요청 한 Host 헤드 를 되 돌려 줍 니 다.
    $_SERVER['HTTP_REFERER']
    모든 사용자 에이전트 가 지원 하 는 것 이 아니 기 때문에 현재 페이지 의 전체 URL 을 되 돌려 줍 니 다.
    $_SERVER['HTTPS']
    보안 HTTP 프로 토 콜 을 통 해 스 크 립 트 를 조회 할 지 여부 입 니 다.
    $_SERVER['REMOTE_ADDR']
    현재 페이지 를 탐색 하 는 사용자 의 IP 주 소 를 되 돌려 줍 니 다.
    $_SERVER['REMOTE_HOST']
    현재 페이지 를 탐색 하 는 사용자 의 호스트 이름 을 되 돌려 줍 니 다.
    $_SERVER['REMOTE_PORT']
    사용자 기기 에서 웹 서버 에 연 결 된 포트 번 호 를 되 돌려 줍 니 다.
    $_SERVER['SCRIPT_FILENAME']
    현재 실행 중인 스 크 립 트 의 절대 경 로 를 되 돌려 줍 니 다.
    $_SERVER['SERVER_ADMIN']
    이 값 은 아파 치 서버 설정 파일 의 SERVER 를 가 리 킵 니 다.ADMIN 인자.
    $_SERVER['SERVER_PORT']
    웹 서버 에서 사용 하 는 포트 입 니 다.기본 값 은'80'입 니 다.
    $_SERVER['SERVER_SIGNATURE']
    서버 버 전과 가상 호스트 이름 을 되 돌려 줍 니 다.
    $_SERVER['PATH_TRANSLATED']
    현재 스 크 립 트 가 있 는 파일 시스템(비 문서 루트 디 렉 터 리)의 기본 경로 입 니 다.
    $_SERVER['SCRIPT_NAME']
    현재 스 크 립 트 의 경 로 를 되 돌려 줍 니 다.
    $_SERVER['SCRIPT_URI']
    현재 페이지 의 URI 를 되 돌려 줍 니 다.
    PHP $_REQUEST
    PHP $_REQUEST 는 HTML 폼 이 제출 한 데 이 터 를 수집 하 는 데 사 용 됩 니 다.
    아래 의 예 는 입력 필드 와 제출 단 추 를 포함 하 는 폼 을 보 여 줍 니 다.사용자 가 제출 단 추 를 누 르 면 폼 데 이 터 를 제출 할 때 폼 데 이 터 는 탭 의 action 속성 에서 지정 한 스 크 립 트 파일 로 보 냅 니 다.이 예 에서 우 리 는 폼 데 이 터 를 처리 하기 위해 파일 자 체 를 지정 합 니 다.폼 데 이 터 를 처리 하기 위해 다른 PHP 파일 이 필요 하 다 면 선택 한 파일 이름 으로 변경 하 십시오.그리고 우 리 는 슈퍼 전역 변 수 를 사용 할 수 있 습 니 다$REQUEST 는 input 필드 의 값 을 수집 합 니 다:
    실례
    
    <html>
    <body>
    
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
    </form>
    
    <?php 
    $name = $_REQUEST['fname']; 
    echo $name; 
    ?>
    
    </body>
    </html>
    PHP $_POST
    PHP $_POST 는 method="post"의 HTML 폼 을 제출 한 후의 폼 데 이 터 를 수집 하 는 데 널리 사 용 됩 니 다.$POST 도 변 수 를 전달 하 는 데 자주 사용 된다.
    다음 예 는 입력 필드 와 제출 단 추 를 포함 하 는 폼 을 보 여 줍 니 다.사용자 가 제출 단 추 를 누 르 면 폼 데 이 터 는 탭 의 action 속성 에서 지정 한 파일 로 보 냅 니 다.이 예 에서,우 리 는 폼 데 이 터 를 처리 하기 위해 파일 자 체 를 지정 합 니 다.폼 데 이 터 를 다른 PHP 페이지 로 처리 하려 면 선택 한 파일 이름 으로 변경 하 십시오.그리고 우 리 는 초 전역 변 수 를 사용 할 수 있 습 니 다$POST 는 입력 필드 의 값 을 수집 합 니 다:
    실례
    
    <html>
    <body>
    
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
    </form>
    
    <?php 
    $name = $_POST['fname'];
    echo $name; 
    ?>
    
    </body>
    </html>
    PHP $_GET
    PHP $_GET 는 HTML 폼(method=get)을 제출 한 후의 폼 데 이 터 를 수집 하 는 데 도 사용 할 수 있다.
    $_GET 도 URL 에서 보 낸 데 이 터 를 수집 할 수 있다.
    만약 에 우리 가 페이지 에 파 라 메 터 를 가 진 하이퍼링크 가 있다 고 가정 하면:
    
    <html>
    <body>
    
    <a href="test_get.php?subject=PHP&web=W3school.com.cn" rel="external nofollow" >   $GET</a>
    
    </body>
    </html>
    사용자 가 링크"테스트$GET"를 클릭 하면 인자"subject"와"웹"이"test"로 전 송 됩 니 다.get.php",그리고 당신 은$GET 는"testget.php 에서 이 값 에 접근 하 였 습 니 다.
    다음 예 는"test"입 니 다.get.php"의 코드:
    실례
    
    <html>
    <body>
    
    <?php 
    echo "  " . $_GET['web'] . "    " . $_GET['subject'];
    ?>
    
    </body>
    </html>
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기