search
HomeBackend DevelopmentPHP Tutorialphp gets the current url path php server variable

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, ' $_get = shtmlspecialchars($_get);// xss
  9. }
  10. }
  11. echo $_server['document_root']."
    "; //Get the server document root variable

  12. echo $_server['php_self ']."
    "; //Get the variable of the absolute path of the file server that executes the code
  13. echo __file__."
    "; //Get the variable of the absolute path of the file system of the file
  14. echo dirname(__file__ ); //Function to get the folder path where the file is located
  15. ?>
  16. //server function
  17. $_server["http_referer"]=http://localhost/lianxi/
  18. $_server["http_accept_language"]=zh- cn
  19. $_server["http_accept_encoding"]=gzip, deflate
  20. $_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)
  21. $_server["http_host"]=localhost
  22. $_server["http_connection"]=keep-alive
  23. $_server["path"]=c:windowssystem32;c:windows;c:windowssystem32wbem;c:program filescommon filesadobeagl;c: program filesmysqlmysql server 5.0bin;c:php;c:phpext
  24. $_server["systemroot"]=c:windows
  25. $_server["comspec"]=c:windowssystem32cmd.exe
  26. $_server["pathext"]=.com ;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh
  27. $_server["windir"]=c:windows
  28. $_server["server_signature"]=
  29. apache /2.0.55 (win32) php/5.1.1 server at localhost port 80 \What server is used
  30. $_server["server_software"]=apache/2.0.55 (win32) php/5.1.1
  31. $_server["server_name "]=localhost \server name
  32. $_server["server_addr"]=127.0.0.1
  33. $_server["server_port"]=80 \server port
  34. $_server["remote_addr"]=127.0.0.1
  35. $_server["document_root "]=d:/lianxi \Home directory of the website
  36. $_server["server_admin"]=sss@163.com \E-mail set when installing apache
  37. $_server["script_filename"]=d:/lianxi/lianxi/servervalues .php \The absolute path of the current web page,
  38. $_server["remote_port"]=1076 \Remote port
  39. $_server["gateway_interface"]=cgi/1.1
  40. $_server["server_protocol"]=http/1.1
  41. $_server ["request_method"]=get
  42. $_server["query_string"]=\get? The content after the number
  43. $_server["request_uri"]=Example:/lianxi/servervalues.php?a=1&b=2
  44. $_server["script_name"]=Example:/lianxi/servervalues.php
  45. $_server["php_self "]=/lianxi/servervalues.php \Returns the relative path of the current web page.
  46. $_server["request_time"]=1179190013 \The running time unit is one hundred thousandth of a millisecond
  47. $_server["argv"]=array
  48. $ _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"], “";
  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
Dependency Injection in PHP: Avoiding Common PitfallsDependency Injection in PHP: Avoiding Common PitfallsMay 16, 2025 am 12:17 AM

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

How to Speed Up Your PHP Website: Performance TuningHow to Speed Up Your PHP Website: Performance TuningMay 16, 2025 am 12:12 AM

ToimproveyourPHPwebsite'sperformance,usethesestrategies:1)ImplementopcodecachingwithOPcachetospeedupscriptinterpretation.2)Optimizedatabasequeriesbyselectingonlynecessaryfields.3)UsecachingsystemslikeRedisorMemcachedtoreducedatabaseload.4)Applyasynch

Sending Mass Emails with PHP: Is it Possible?Sending Mass Emails with PHP: Is it Possible?May 16, 2025 am 12:10 AM

Yes,itispossibletosendmassemailswithPHP.1)UselibrarieslikePHPMailerorSwiftMailerforefficientemailsending.2)Implementdelaysbetweenemailstoavoidspamflags.3)Personalizeemailsusingdynamiccontenttoimproveengagement.4)UsequeuesystemslikeRabbitMQorRedisforb

What is the purpose of Dependency Injection in PHP?What is the purpose of Dependency Injection in PHP?May 16, 2025 am 12:10 AM

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

How to send an email using PHP?How to send an email using PHP?May 16, 2025 am 12:03 AM

The best ways to send emails using PHP include: 1. Use PHP's mail() function to basic sending; 2. Use PHPMailer library to send more complex HTML mail; 3. Use transactional mail services such as SendGrid to improve reliability and analysis capabilities. With these methods, you can ensure that emails not only reach the inbox, but also attract recipients.

How to calculate the total number of elements in a PHP multidimensional array?How to calculate the total number of elements in a PHP multidimensional array?May 15, 2025 pm 09:00 PM

Calculating the total number of elements in a PHP multidimensional array can be done using recursive or iterative methods. 1. The recursive method counts by traversing the array and recursively processing nested arrays. 2. The iterative method uses the stack to simulate recursion to avoid depth problems. 3. The array_walk_recursive function can also be implemented, but it requires manual counting.

What are the characteristics of do-while loops in PHP?What are the characteristics of do-while loops in PHP?May 15, 2025 pm 08:57 PM

In PHP, the characteristic of a do-while loop is to ensure that the loop body is executed at least once, and then decide whether to continue the loop based on the conditions. 1) It executes the loop body before conditional checking, suitable for scenarios where operations need to be performed at least once, such as user input verification and menu systems. 2) However, the syntax of the do-while loop can cause confusion among newbies and may add unnecessary performance overhead.

How to hash strings in PHP?How to hash strings in PHP?May 15, 2025 pm 08:54 PM

Efficient hashing strings in PHP can use the following methods: 1. Use the md5 function for fast hashing, but is not suitable for password storage. 2. Use the sha256 function to improve security. 3. Use the password_hash function to process passwords to provide the highest security and convenience.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.