> 백엔드 개발 > PHP 튜토리얼 > PHP는 현재 URL 경로를 가져옵니다. PHP 서버 변수

PHP는 현재 URL 경로를 가져옵니다. PHP 서버 변수

WBOY
풀어 주다: 2016-07-25 09:12:59
원래의
1040명이 탐색했습니다.

주로 다음 전역 변수를 사용하여 현재 URL 주소와 서버 변수를 얻기 위한 PHP 프로그래밍 프로그래밍: $_server["query_string"],$_server["request_uri"],$_server["script_name"],$_server["php_self"]

1,$_server["query_string"] 설명: 쿼리 문자열 2.$_server["request_uri"] 설명: 이 페이지에 액세스하려면 URI가 필요합니다. 3.$_server["스크립트_이름"] 설명: 현재 스크립트의 경로가 포함되어 있습니다. 4.$_서버["php_self"] 설명: 현재 실행 중인 스크립트의 파일 이름 예: 1. http://bbs.it-home.org/ (홈페이지 바로 열기) 결과: $_server["query_string"] = "" $_server["request_uri"] = "/" $_server["script_name"] = "/index.php" $_server["php_self"] = "/index.php" 2. http://bbs.it-home.org/?p=222 (쿼리 포함) 결과: $_server["query_string"] = "p=222" $_server["request_uri"] = "/?p=222" $_server["script_name"] = "/index.php" $_server["php_self"] = "/index.php" 3. http://bbs.it-home.org/index.php?p=222&q=biuuu 결과:

  1. //request_uri 처리 중

  2. if(!isset($_server['request_uri'])) {
  3. $_server['request_uri'] = $_server['php_self'];
  4. if(isset($_server['query_string'])) $_server['request_uri'] .= '?'.$_server['query_string '];
  5. }
  6. if($_server['request_uri']) {
  7. $temp = urldecode($_server['request_uri'])
  8. if(strexists($temp, '< ;') || strexists($temp, '"')) {
  9. $_get = shtmlspecialchars($_get);//xss
  10. }
  11. }

  12. echo $_server['document_root']."
    "; //서버 문서 루트 변수 가져오기
  13. echo $_server['php_self']."
    " ; //코드를 실행하는 파일 서버의 절대 경로 변수를 가져옵니다
  14. echo __file__."
    " //파일의 파일 시스템 절대 경로 변수를 가져옵니다
  15. echo dirname(__file__); //폴더 경로의 파일 함수 가져오기
  16. ?>
  17. //서버 함수
  18. $_server["http_referer"]=http://localhost/lianxi/
  19. $_server["http_accept_언어"]= zh-cn
  20. $_server["http_accept_encoding"]=gzip, deflate
  21. $_server["http_user_agent"]=mozilla/4.0(호환; msie 6.0; windows nt 5.2; .net clr 1.1.4322; .net clr 2.0.50727)
  22. $_server["http_host"]=localhost
  23. $_server["http_connection"]=keep-alive
  24. $_server["path"] =c:windowssystem32;c:windows; c:windowssystem32wbem;c:프로그램 파일공통 파일adobeagl;c:프로그램 파일mysqlmysql 서버 5.0bin;c:php;c:phpext
  25. $_server["systemroot"]=c:windows
  26. $_server["comspec"]= c:windowssystem32cmd.exe
  27. $_server["pathext"]=.com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;. wsf;.wsh
  28. $_server ["windir"]=c:windows
  29. $_server["server_signature"]=
  30. apache/2.0.55(win32) php/5.1.1 서버(localhost 포트 80) \사용되는 서버
  31. $ _server["server_software"]=apache/2.0.55 (win32) php/5.1.1
  32. $_server["server_name"]=localhost \서버 이름
  33. $_server[ "server_addr"]=127.0.0.1
  34. $_server["server_port"]=80 \서버 포트
  35. $_server["remote_addr"]=127.0.0.1
  36. $_server["document_root"]=d: /lianxi \웹사이트의 홈 디렉터리
  37. $_server["server_admin"]=sss@163.com \아파치 설치 시 설정한 이메일 주소
  38. $_server["script_filename"]=d:/lianxi/lianxi/ servervalues.php \현재 웹페이지의 절대 경로,
  39. $_server["remote_port"]=1076 \remote port
  40. $_server["gateway_interface"]=cgi/1.1
  41. $_server["server_protocol "]=http/1.1
  42. $_server[" request_method"]=get
  43. $_server["query_string"]=\Get? 숫자 뒤의 내용
  44. $_server["request_uri"]=예:/lianxi/servervalues.php?a=1&b=2
  45. $_server["script_name"]=예:/lianxi/servervalues.php
  46. $_server["php_self"]=/lianxi/servervalues.php \현재 웹페이지의 상대 경로를 반환합니다.
  47. $_server["request_time"]=1179190013 \실행 시간 단위는 10만분의 1밀리초입니다.
  48. $ _server["argv"]=array
  49. $_server["argc"]=0

코드 복사

예 2:

  1. /**
  2. __file__ ,
  3. getcwd(),
  4. $_server["request_uri"] ,
  5. $_server["script_name"],
  6. $_server["php_self"],
  7. $_server["script_filename"],
코드 복사

이러한 변수 또는 함수의 유사점과 차이점. 요청 주소가 있다고 가정합니다: http://localhost:8080/test.php/age=20 test.php의 전체 경로는 다음과 같습니다: d:/server/www/example/test.php 1), getcwd() 브라우저에서 요청한 페이지 파일이 있는 디렉터리, 즉 test.php 파일이 있는 디렉터리를 가져옵니다: d:/server/www/example/, inculde("test_dir/test2.php")와 같이 require 또는 include 문이 test.php에서 실행되는 경우, 그런 다음 test2.php의 getcwd() 함수는 test.php가 있는 디렉토리도 반환합니다. 2)、__파일__ __file__ 변수가 있는 파일의 전체 경로를 가져오는 데 사용할 수 있는 매직 변수입니다. 예를 들어 test.php의 __file__은 d:/server/www/example/test.php를 가져옵니다. test_dir/test2.php의 __file__은 d:/server/www/example/test_dir/test2.php를 가져옵니다. 3), $_server["script_filename"] 브라우저에서 요청한 페이지 파일의 전체 경로를 가져옵니다. test.php 및 test_dir/test2.php에서 $_server["script_name"]을 사용하면 d:/server/www/example/test.php가 생성됩니다. 4), $_server["스크립트_이름"] 브라우저에서 요청한 페이지 파일의 파일 이름을 가져옵니다. 참고: $_server["script_name"]과 달리 이 변수는 파일 이름만 가져오고 경로는 포함하지 않습니다. test.php 및 test_dir/test2.php에서 $_server["script_name"]을 사용하면 test.php가 생성됩니다. 물론 test.php와 test_dir/test2.php에서 basename($_server["script_filename"])을 실행하는 것은 $_server["script_name"]과 같습니다. test.php와 test_dir/test2.php에서 realpath("test.php")를 실행하면 결과는 $_server["script_filename"]과 같습니다. 5), $_server["php_self"] 브라우저가 요청한 페이지의 파일 이름을 가져오고 물음표 ? 뒤의 내용은 제거됩니다. 참고: 경로는 포함되지 않습니다. 예를 들어 클라이언트에서 http://localhost:8080/test.php?age=20&name=tom을 요청합니다. 그러면 test.php와 test_dir/test2.php의 $_server["php_self"]는 "test.php"를 얻게 됩니다. "age=20&name=tom"이 제거되었습니다. 그리고 클라이언트가 http://localhost:8080/test.php/age=20&name=tom을 요청하면, 그러면 test.php와 test_dir/test2.php의 $_server["php_self"]는 "test.php/age=20&name=tom"을 얻게 됩니다. 6), $_server["request_uri"] 브라우저가 요청한 페이지의 파일 이름과 파일 이름 뒤의 모든 내용을 가져옵니다(참고: 파운드 기호 # 뒤의 내용은 생략됨). 예를 들어 클라이언트에서 http://localhost:8080/test.php?age=20&name=tom을 요청합니다. 그러면 test.php와 test_dir/test2.php의 $_server["reuest_uri"]는 "test.php"를 얻게 됩니다. "age=20&name=tom"이 벗겨졌습니다. 그리고 클라이언트가 http://localhost:8080/test.php/age=20&name=tom을 요청하면, 그러면 test.php와 test_dir/test2.php의 $_server["request_uri"]는 "test.php/age=20&name=tom"을 얻게 됩니다. 테스트.php:

  1. echo “test1.php 변수
  2. echo “getcwd: “, getcwd(), “
    ";
  3. echo "__file__: ", __file__, "
    ";
  4. echo "request_uri: ", $_server["request_uri"], "
    ";
  5. echo “script_name: “, $_server["script_name"], “
  6. echo “php_self: “, $_server["php_self"], “
    ";
  7. echo "script_filename", $_server["script_filename"] , "
    ";
  8. // test2.php를 포함하고 위 내용을 test2.php에 출력하여 볼 변수 차이점:
  9. include_once("test2/test2.php");
  10. ?>
코드 복사


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