【发布时间】:2013-05-02 15:21:01
【问题描述】:
我有一个 PHP 脚本需要知道它的 URL,即使它包含在另一个脚本中。我试过了:
$_SERVER['REQUEST_URI']
但这不会将 URI 返回给我的脚本——而是将 URI 返回给 包括 脚本。我也试过:
dirname ( __FILE__ )
但我似乎无法将其转换为绝对 URL。
我的脚本能否找到自己的 URL,即使它包含在另一个脚本中?感谢您的帮助!
【问题讨论】:
-
简短的回答是否定的。长答案也是NO
-
究竟为什么需要知道它的位置?
-
这是一个可重用的模块,可将 HTML 写入页面,包括 AJAX 对自身的 URL 引用。我可以对它的位置进行硬编码,但我希望有一种以编程方式获取它的方法。
-
您可以尝试将 FILE 与 argv[0] 之类的进行比较,但确实没有可靠的方法来检测脚本是否被包含()或直接执行.这就是 include() 的全部意义——它应该对代码是透明的。
-
当然,您需要知道的只是来自 $_SERVER 的 URL,即使在调用该 url 时包含脚本,那么您的脚本仍在运行,这听起来像是您需要的。而不是尝试直接调用可能包含的文件,我肯定会皱眉头,因为它绕过了所有其余的应用程序配置和逻辑。
标签: php