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
11 Best PHP URL Shortener Scripts (Free and Premium)11 Best PHP URL Shortener Scripts (Free and Premium)Mar 03, 2025 am 10:49 AM

Long URLs, often cluttered with keywords and tracking parameters, can deter visitors. A URL shortening script offers a solution, creating concise links ideal for social media and other platforms. These scripts are valuable for individual websites a

Working with Flash Session Data in LaravelWorking with Flash Session Data in LaravelMar 12, 2025 pm 05:08 PM

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

Build a React App With a Laravel Back End: Part 2, ReactBuild a React App With a Laravel Back End: Part 2, ReactMar 04, 2025 am 09:33 AM

This is the second and final part of the series on building a React application with a Laravel back-end. In the first part of the series, we created a RESTful API using Laravel for a basic product-listing application. In this tutorial, we will be dev

Simplified HTTP Response Mocking in Laravel TestsSimplified HTTP Response Mocking in Laravel TestsMar 12, 2025 pm 05:09 PM

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

cURL in PHP: How to Use the PHP cURL Extension in REST APIscURL in PHP: How to Use the PHP cURL Extension in REST APIsMar 14, 2025 am 11:42 AM

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

12 Best PHP Chat Scripts on CodeCanyon12 Best PHP Chat Scripts on CodeCanyonMar 13, 2025 pm 12:08 PM

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

Announcement of 2025 PHP Situation SurveyAnnouncement of 2025 PHP Situation SurveyMar 03, 2025 pm 04:20 PM

The 2025 PHP Landscape Survey investigates current PHP development trends. It explores framework usage, deployment methods, and challenges, aiming to provide insights for developers and businesses. The survey anticipates growth in modern PHP versio

Notifications in LaravelNotifications in LaravelMar 04, 2025 am 09:22 AM

In this article, we're going to explore the notification system in the Laravel web framework. The notification system in Laravel allows you to send notifications to users over different channels. Today, we'll discuss how you can send notifications ov

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

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

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools