Home >Backend Development >PHP Tutorial >php gets the current url path php server variable

php gets the current url path php server variable

WBOY
WBOYOriginal
2016-07-25 09:12:591038browse

Programming in PHP programming to obtain the current url address and server variables, mainly using the following global variables: $_server["query_string"],$_server["request_uri"],$_server["script_name"],$_server["php_self"]

1,$_server["query_string"] Description: Query string 2.$_server["request_uri"] Description: URI required to access this page 3.$_server["script_name"] Description: Contains the path of the current script 4.$_server["php_self"] Description: The file name of the currently executing script Example: 1. http://bbs.it-home.org/ (open the homepage directly) result: $_server["query_string"] = "" $_server["request_uri"] = "/" $_server["script_name"] = "/index.php" $_server["php_self"] = "/index.php" 2. http://bbs.it-home.org/?p=222 (with query) result: $_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 result:

  1. //Handle 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']."
    "; //Get the server document root variable

  13. echo $_server['php_self ']."
    "; //Get the variable of the absolute path of the file server that executes the code
  14. echo __file__."
    "; //Get the variable of the absolute path of the file system of the file
  15. echo dirname(__file__ ); //Function to get the folder path where the file is located
  16. ?>
  17. //server function
  18. $_server["http_referer"]=http://localhost/lianxi/
  19. $_server["http_accept_language"]=zh- cn
  20. $_server["http_accept_encoding"]=gzip, deflate
  21. $_server["http_user_agent"]=mozilla/4.0 (compatible; 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:program filescommon filesadobeagl;c: program filesmysqlmysql server 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 server at localhost port 80 \What server is used
  31. $_server["server_software"]=apache/2.0.55 (win32) php/5.1.1
  32. $_server["server_name "]=localhost \server name
  33. $_server["server_addr"]=127.0.0.1
  34. $_server["server_port"]=80 \server port
  35. $_server["remote_addr"]=127.0.0.1
  36. $_server["document_root "]=d:/lianxi \Home directory of the website
  37. $_server["server_admin"]=sss@163.com \E-mail set when installing apache
  38. $_server["script_filename"]=d:/lianxi/lianxi/servervalues .php \The absolute path of the current web page,
  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? The content after the number
  44. $_server["request_uri"]=Example:/lianxi/servervalues.php?a=1&b=2
  45. $_server["script_name"]=Example:/lianxi/servervalues.php
  46. $_server["php_self "]=/lianxi/servervalues.php \Returns the relative path of the current web page.
  47. $_server["request_time"]=1179190013 \The running time unit is one hundred thousandth of a millisecond
  48. $_server["argv"]=array
  49. $ _server["argc"]=0

Copy code

Example 2:

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

The similarities and differences of these variables or functions. Suppose there is a request address: http://localhost:8080/test.php/age=20 The full path of test.php is: d:/server/www/example/test.php 1), getcwd() You will get the directory where the page file requested by the browser is located. That is, the directory where the test.php file is located: d:/server/www/example/, If require or include statements are executed in test.php, such as inculde("test_dir/test2.php"), Then the getcwd() function in test2.php will also return the directory where test.php is located. 2)、__file__ A magic variable that can be used to get the full path of the file where the __file__ variable is located. For example: __file__ in test.php will get d:/server/www/example/test.php, __file__ in test_dir/test2.php will get d:/server/www/example/test_dir/test2.php 3), $_server["script_filename"] Will get the full path to the page file requested by the browser. Using $_server["script_name"] in test.php and test_dir/test2.php will get d:/server/www/example/test.php. 4), $_server["script_name"] Will get the file name of the page file requested by the browser. Note: Unlike $_server["script_name"], this variable only gets the file name and does not include the path. Using $_server["script_name"] in test.php and test_dir/test2.php will result in test.php. Of course, executing basename($_server["script_filename"]) in test.php and test_dir/test2.php is the same as $_server["script_name"]. Execute realpath("test.php") in test.php and test_dir/test2.php and the result will be the same as $_server["script_filename"]. 5), $_server["php_self"] The file name of the page requested by the browser will be obtained, and the content after the question mark ? will be stripped off. Note: the path is not included. For example, request http://localhost:8080/test.php?age=20&name=tom in the client, Then $_server["php_self"] of both test.php and test_dir/test2.php will get "test.php". "age=20&name=tom" is stripped off. And if the client requests http://localhost:8080/test.php/age=20&name=tom, Then $_server["php_self"] of both test.php and test_dir/test2.php will get "test.php/age=20&name=tom". 6), $_server["request_uri"] Will get the file name of the page requested by the browser, and all the content after the file name (note: the content after the pound sign # will be omitted), For example, request http://localhost:8080/test.php?age=20&name=tom in the client, Then $_server["reuest_uri"] of both test.php and test_dir/test2.php will get "test.php". "age=20&name=tom" is stripped off. And if the client requests http://localhost:8080/test.php/age=20&name=tom, Then $_server["request_uri"] of both test.php and test_dir/test2.php will get "test.php/age=20&name=tom". test.php:

  1. echo "test1.php variables
    ";
  2. echo "getcwd: ", getcwd(), "
    ";
  3. echo "__file__: ", __file__, "
    ”;
  4. echo “request_uri: “, $_server["request_uri"], “
    ”;
  5. echo “script_name: “, $_server["script_name"], “< br />";
  6. echo "php_self: ", $_server["php_self"], "
    ";
  7. echo "script_filename ", $_server["script_filename"] , "
  8. //Include test2.php, output the above variables in test2.php, and see the difference:
  9. include_once("test2/test2.php");
  10. ?>
Copy code


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn