<?php /** __FILE__ , getcwd(), $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME"], $_SERVER["PHP_SELF"], $_SERVER["SCRIPT_FILENAME"], 来观察一下这些变量或函数 ...
<?php
/**
__FILE__ ,
getcwd(),
$_SERVER["REQUEST_URI"],
$_SERVER["SCRIPT_NAME"],
$_SERVER["PHP_SELF"],
$_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/ ,
如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”),
那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录.
2) __FILE__
一个魔术变量, 用它将得到 __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["SCRIPT_NAME"]
将得到浏览器请求的页面文件的文件名,注意: 与 $_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”。
*/
// test.php:
echo “test1.php variables <br />”;
echo “getcwd: “, getcwd(), “<br />”;
echo “__FILE__: “, __FILE__, “<br />”;
echo “REQUEST_URI: “, $_SERVER["REQUEST_URI"], “<br />”;
echo “SCRIPT_NAME: “, $_SERVER["SCRIPT_NAME"], “<br />”;
echo “PHP_SELF: “, $_SERVER["PHP_SELF"], “<br />”;
echo “SCRIPT_FILENAME “, $_SERVER["SCRIPT_FILENAME"] , “<br />”;
// 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同:
include_once(”test2/test2.php”);
?>
分享到:
相关推荐
在 PHP 中,获取当前 URL 路径的函数及服务器变量是非常重要的,本文将详细介绍 QUERY_STRING、REQUEST_URI、SCRIPT_NAME 和 PHP_SELF 等服务器变量的定义、使用场景和实践示例。 QUERY_STRING QUERY_STRING 变量...
在PHP编程中,获取当前URL路径以及相关的服务器变量是非常常见的需求。这些信息通常可以通过`$_SERVER`全局数组来获取。`$_SERVER`数组包含了与PHP脚本运行时环境相关的各种服务器变量,例如请求方法、脚本位置、URL...
### PHP 获取当前URL路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF 在PHP开发中,理解并正确使用服务器变量是至关重要的。这些变量可以帮助开发者获取当前请求的各种信息,例如请求的...
在PHP编程语言中,魔术变量和魔术函数是一组特殊的预定义常量和函数,它们的行为与常规常量和函数有所不同,因为它们的值会根据它们在代码中的位置和上下文自动变化。这些特性使得PHP更加灵活,同时也为开发者提供了...
在PHP编程中,获取当前URL路径以及服务器变量是常见的需求,这有助于开发者了解请求的上下文,例如处理请求的文件位置、服务器环境等信息。以下将详细解释标题和描述中涉及的知识点: 1. **$_SERVER 超全局数组**:...
处理目录和文件路径的函数包括`mkdir()`创建目录,`rmdir()`删除空目录,`scandir()`列出目录内容,`chdir()`改变当前工作目录,`realpath()`获取规范化的绝对路径,以及`file_exists()`检查文件或目录是否存在。...
在PHP开发过程中,路径管理是不可或缺的一部分,尤其是在处理文件包含、资源引用以及脚本执行时。"php相对路径解决方法"这个主题主要关注如何在PHP中有效地使用相对路径来解决文件定位的问题。以下是对这个话题的...
中的一些关键全局变量,这些变量对于控制论坛的功能和用户权限至关重要。 1. **全局变量**:全局变量在Discuz! 中用于存储和控制论坛的各种设置和用户权限。例如: - `$action` 代表当前的操作或动作,比如用户...
3. PHP_操作与信息函数.pdf:这部分涵盖了获取和操作PHP系统信息的函数,如`phpinfo()`用于显示PHP配置信息,`ini_get()`和`ini_set()`用于获取或设置PHP配置选项,`getenv()`获取环境变量,以及`phpversion()`获取...
在PHP编程语言中,存在一些潜在的危险函数,如果使用不当,可能会导致严重的安全问题,如数据泄露、代码注入或服务器资源滥用。本教程将详细解析这些危险函数,帮助开发者了解其风险,避免在实际应用中误用。 一、...
在 PHP 编程语言中,超全局变量是指那些不需要在函数或方法内进行显式声明即可使用的特殊变量。这些变量通常用于存储请求环境中的信息(如 HTTP 请求参数、服务器变量等),并且在整个脚本执行期间都是可用的。 ###...
在PHP编程语言中,函数是预定义的代码块,用于执行特定任务。它们极大地提高了代码的可重用性和效率。本篇文章将深入探讨PHP中的常用函数,这些函数在日常开发中非常常见且实用。 1. **字符串处理函数**: - `...
掌握PHP中的变量和常量是编程的基础,尤其理解引用变量、变量变量、全局与局部变量以及预定义常量的概念,对于编写高效、灵活的代码至关重要。通过本篇学习笔记,希望能帮助初学者深入理解并熟练运用PHP的变量和常量...
PHP4 中提供了一个新的目录函数 getcwd(),该函数可以返回当前脚本路径的字符串。 3. 超时设置函数 PHP4 中提供了一个超时设置函数 set_time_limit(),该函数可以配置该页最久执行时间。例如,set_time_limit(30) ...
在PHP编程中,了解并熟练掌握一些实用的函数和功能对于提高开发效率和编写高效代码至关重要。下面将详细讲解9个必须知道的PHP函数和功能。 1. **任意参数数目的函数**: PHP允许我们创建可接受任意数量参数的函数...