> 백엔드 개발 > PHP 문제 > $_SERVER 게임 방법을 가르쳐주세요.

$_SERVER 게임 방법을 가르쳐주세요.

醉折花枝作酒筹
풀어 주다: 2023-03-11 21:06:01
원래의
2227명이 탐색했습니다.

이전 글에서는 슈퍼 전역 변수가 무엇인지, $GLOBALS가 무엇인지 알아보았습니다. 필요하신 분은 "편집자가 PHP 변수의 $GLOBALS를 알려드립니다"를 읽어보세요. 이번에 소개하는 $_SERVER는 필요하시면 참고하시면 됩니다.

이 배열을 이해하기 위해 작은 밤나무를 살펴보겠습니다.

<?php 
echo $_SERVER[&#39;PHP_SELF&#39;];
echo "<br>";
echo $_SERVER[&#39;SERVER_NAME&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_HOST&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_REFERER&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_USER_AGENT&#39;];
echo "<br>";
echo $_SERVER[&#39;SCRIPT_NAME&#39;];
?>
로그인 후 복사

결과는

/try/demo_source/demo_global_server.php
www.runoob.com
www.runoob.com
https://www.runoob.com/try/showphp.php?filename=demo_global_server
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
/try/demo_source/demo_global_server.php
로그인 후 복사

먼저 결과를 대략적으로 살펴보면 모두 동일한 주소인 것 같습니다. 그러면 이 배열이 정보를 저장하는 배열이라는 것을 과감하게 추측해 보겠습니다.

$_SERVER는 헤더 정보(header), 경로(path), 스크립트 위치(scriptlocations) 및 기타 정보를 포함하는 배열입니다. 이 배열의 항목은 웹 서버에 의해 생성됩니다. 모든 서버가 모든 항목을 제공한다는 보장은 없습니다. 서버는 일부 항목을 무시하거나 여기에 나열되지 않은 항목을 제공할 수 있습니다.

모든 $_SERVER 변수의 중요한 요소에 대해 이야기해 보겠습니다.

  • $_SERVER['PHP_SELF'], 문서 루트와 관련된 현재 실행 중인 스크립트의 파일 이름입니다. 예를 들어, http://example.com/test.php/foo.bar의 스크립트에서 $_SERVER['PHP_SELF']를 사용하면 가 됩니다. /test.php/foo.bar. __FILE__ 상수에는 현재(즉, 포함하는) 파일의 전체 경로와 파일 이름이 포함됩니다. PHP 버전 4.3.0부터 PHP가 명령줄 모드에서 실행 중인 경우 이 변수에는 스크립트 이름이 포함됩니다. 이 변수는 이전 버전에서는 사용할 수 없습니다. http://example.com/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将得到 /test.php/foo.bar。__FILE__ 常量包含当前(例如包含)文件的完整路径和文件名。 从 PHP 4.3.0 版本开始,如果 PHP 以命令行模式运行,这个变量将包含脚本名。之前的版本该变量不可用。

  • $_SERVER['GATEWAY_INTERFACE'],服务器使用的 CGI 规范的版本;例如,"CGI/1.1"。

  • $_SERVER['SERVER_ADDR'],当前运行脚本所在的服务器的 IP 地址。

  • $_SERVER['SERVER_NAME'],当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。

  • $_SERVER['SERVER_SOFTWARE'],服务器标识字符串,在响应请求时的头信息中给出。 (如:Apache/2.2.24)

  • $_SERVER['SERVER_PROTOCOL'],请求页面时通信协议的名称和版本。例如,"HTTP/1.0"。

  • $_SERVER['REQUEST_METHOD'],访问页面使用的请求方法;例如,"GET", "HEAD","POST","PUT"。

  • $_SERVER['REQUEST_TIME'],请求开始时的时间戳。从 PHP 5.1.0 起可用。 (如:1377687496)

  • $_SERVER['QUERY_STRING'],query string(查询字符串),如果有的话,通过它进行页面访问。

  • $_SERVER['HTTP_ACCEPT'],当前请求头中 Accept: 项的内容,如果存在的话。

  • $_SERVER['HTTP_ACCEPT_CHARSET'],当前请求头中 Accept-Charset: 项的内容,如果存在的话。例如:"iso-8859-1,*,utf-8"。

  • $_SERVER['HTTP_HOST'],当前请求头中 Host: 项的内容,如果存在的话。

  • $_SERVER['HTTP_REFERER'],引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER 的功能。简言之,该值并不可信。)

  • $_SERVER['HTTPS'],如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。

  • $_SERVER['REMOTE_ADDR'],浏览当前页面的用户的 IP 地址。

  • $_SERVER['REMOTE_HOST'],浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR

  • $_SERVER['REMOTE_PORT'],用户机器上连接到 Web 服务器所使用的端口号。

  • $_SERVER['SCRIPT_FILENAME'],当前执行脚本的绝对路径。

  • $_SERVER['SERVER_ADMIN'],该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。

  • $_SERVER['SERVER_PORT'],Web 服务器使用的端口。默认值为 "80"。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

  • $_SERVER['SERVER_SIGNATURE'],包含了服务器版本和虚拟主机名的字符串。

  • $_SERVER['PATH_TRANSLATED'],当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。

  • $_SERVER['SCRIPT_NAME'],包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__

  • 🎜$_SERVER['GATEWAY_INTERFACE'], 서버에서 사용하는 CGI 사양 버전(예: "CGI/1.1") 🎜🎜🎜$_SERVER['SERVER_ADDR'], 스크립트가 현재 실행 중인 서버의 IP 주소입니다. 🎜🎜🎜$_SERVER['SERVER_NAME'], 스크립트가 현재 실행 중인 서버의 호스트 이름입니다. 스크립트가 가상 호스트에서 실행 중인 경우 이름은 해당 가상 호스트에 설정된 값에 따라 결정됩니다. 🎜🎜🎜$_SERVER['SERVER_SOFTWARE'], 요청에 응답할 때 헤더 정보에 제공되는 서버 식별 문자열입니다. (예: Apache/2.2.24)🎜🎜🎜$_SERVER['SERVER_PROTOCOL'], 페이지를 요청할 때 통신 프로토콜의 이름과 버전. 예를 들어 "HTTP/1.0"입니다. 🎜🎜🎜$_SERVER['REQUEST_METHOD'], 페이지에 액세스하는 데 사용되는 요청 방법(예: "GET", "HEAD", "POST", "PUT"). 🎜🎜🎜$_SERVER['REQUEST_TIME'], 요청이 시작된 타임스탬프입니다. PHP 5.1.0에서 사용 가능합니다. (예: 1377687496)🎜🎜🎜$_SERVER['QUERY_STRING'], query string(쿼리 문자열)이 있는 경우 이를 통해 페이지 액세스가 수행됩니다. 🎜🎜🎜$_SERVER['HTTP_ACCEPT'], 현재 요청 헤더에 Accept: 항목이 있는 경우 해당 내용. 🎜🎜🎜$_SERVER['HTTP_ACCEPT_CHARSET'], 현재 요청 헤더에 있는 Accept-Charset: 항목의 내용(있는 경우). 예: "iso-8859-1,*,utf-8". 🎜🎜🎜$_SERVER['HTTP_HOST'], 현재 요청 헤더에 Host: 항목의 콘텐츠(존재하는 경우). 🎜🎜🎜$_SERVER['HTTP_REFERER']는 사용자 에이전트를 현재 페이지의 이전 페이지 주소(존재하는 경우)로 연결합니다. 사용자 에이전트 설정에 따라 결정됩니다. 모든 사용자 에이전트가 이 항목을 설정하는 것은 아니며 일부는 HTTP_REFERER를 수정하는 기능도 제공합니다. 한마디로 그 가치를 신뢰할 수 없다는 것이다. )🎜🎜🎜$_SERVER['HTTPS']는 HTTPS 프로토콜을 통해 스크립트에 액세스하는 경우 비어 있지 않은 값으로 설정됩니다. 🎜🎜🎜$_SERVER['REMOTE_ADDR'], 현재 페이지를 탐색하는 사용자의 IP 주소입니다. 🎜🎜🎜$_SERVER['REMOTE_HOST'], 현재 페이지를 검색하는 사용자의 호스트 이름입니다. DNS 역방향 확인은 사용자의 REMOTE_ADDR에 의존하지 않습니다. 🎜🎜🎜$_SERVER['REMOTE_PORT'], 웹 서버에 연결하기 위해 사용자 컴퓨터에서 사용되는 포트 번호입니다. 🎜🎜🎜$_SERVER['SCRIPT_FILENAME'], 현재 실행 중인 스크립트의 절대 경로입니다. 🎜🎜🎜$_SERVER['SERVER_ADMIN'], 이 값은 Apache 서버 구성 파일의 SERVER_ADMIN 매개변수를 지정합니다. 스크립트가 가상 호스트에서 실행 중인 경우 이 값은 해당 가상 호스트의 값입니다. 🎜🎜🎜$_SERVER['SERVER_PORT'], 웹 서버에서 사용하는 포트입니다. 기본값은 "80"입니다. SSL 보안 연결을 사용하는 경우 이 값은 사용자가 설정한 HTTP 포트입니다. 🎜🎜🎜$_SERVER['SERVER_SIGNATURE'], 서버 버전과 가상 호스트 이름이 포함된 문자열입니다. 🎜🎜🎜$_SERVER['PATH_TRANSLATED']: 현재 스크립트가 있는 파일 시스템(문서 루트 디렉터리 아님)의 기본 경로입니다. 이는 서버를 가상 경로에서 실제 경로로 이미지화한 후의 결과입니다. 🎜🎜🎜$_SERVER['SCRIPT_NAME']에는 현재 스크립트의 경로가 포함되어 있습니다. 이는 페이지가 자신을 가리켜야 할 때 유용합니다. __FILE__ 상수에는 현재 스크립트(예: 포함 파일)의 전체 경로와 파일 이름이 포함됩니다. 🎜
  • $_SERVER['SCRIPT_URI'], URI는 액세스할 페이지를 지정하는 데 사용됩니다. 예를 들어 "/index.html"입니다.

그게 다입니다. 더 알고 싶다면 여기를 클릭하세요. → →php 비디오 튜토리얼

위 내용은 $_SERVER 게임 방법을 가르쳐주세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿