如何获取当前正在执行的PHP脚本的URL?
如何获取当前正在执行的PHP脚本的URL 例如,URL如何获取当前正在执行的PHP脚本的URL?,php,Php,如何获取当前正在执行的PHP脚本的URL 例如,URLhttp://www.domain.com/folder/script.php向/var/www/domain/folder/script.php发送请求 在script.php中,我想回显http://www.domain.com/folder/(非/var/www/domain/folder/,非http://www.domain.com/folder/script.php)。最简单的方法是什么?一个简单的谷歌搜索就能回答你的问题。这是结
http://www.domain.com/folder/script.php
向/var/www/domain/folder/script.php
发送请求
在
script.php
中,我想回显http://www.domain.com/folder/
(非/var/www/domain/folder/
,非http://www.domain.com/folder/script.php
)。最简单的方法是什么?一个简单的谷歌搜索就能回答你的问题。这是结果
一个简单的谷歌搜索就能回答你的问题。这是结果
它没有那么复杂,但它是这样的:
<?php
$scriptFolder = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
$scriptFolder .= $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']);
echo $scriptFolder;
?>
它没有那么复杂,但它是这样的:
<?php
$scriptFolder = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
$scriptFolder .= $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']);
echo $scriptFolder;
?>
我一直在寻找这个问题的答案,似乎没有一个简单的答案 然后我突然想到:这是因为不可能总是得到当前的脚本url
PHP可以在文件系统中的任何位置包含一个文件,只要运行该进程的用户有权访问它,它就可以工作。但是,这意味着可以在Web服务器的根目录之外包含脚本,因此不可能有url。我相信这就是为什么没有直接函数来做这件事的原因。我一直在寻找这个问题的答案,似乎没有一个简单的答案 然后我突然想到:这是因为不可能总是得到当前的脚本url
PHP可以在文件系统中的任何位置包含一个文件,只要运行该进程的用户有权访问它,它就可以工作。但是,这意味着可以在Web服务器的根目录之外包含脚本,因此不可能有url。我相信这就是为什么没有直接的函数来做这件事。$\u服务器['PHP\u SELF']、$\u服务器['REQUEST\u URI']和$\u服务器['SCRIPT\u NAME']返回带有脚本文件名的路径,而不仅仅是路径。我想知道是否有一个变量单独设置为路径。请参阅下面Mihai Iorga的解决方案。PHP没有现成的功能,但只需大约半分钟的时间,就可以获得所需的功能。这比在SO上发布所需的时间要短。$\u服务器['PHP\u SELF']、$\u服务器['REQUEST\u URI']和$\u服务器['SCRIPT\u NAME']使用脚本文件名返回路径,而不是仅返回路径。我想知道是否有一个变量单独设置为路径。请参阅下面Mihai Iorga的解决方案。PHP没有现成的功能,但只需大约半分钟的时间,就可以获得所需的功能。这比在SO上发布花费的时间要少。更好的解决方案可能是使用$\u SERVER['SCRIPT\u NAME']而不是$\u SERVER['REQUEST\u URI']。那么“https://”呢?@powerboy:您是否阅读了有关$\u服务器的PHP文档?我相信php.net和它的注释涵盖了您所要求的一切。更好的解决方案可能是使用$\u SERVER['SCRIPT\u NAME']而不是$\u SERVER['REQUEST\u URI']。那么“https://”呢?@powerboy:您是否阅读了有关$\u服务器的PHP文档?我相信php.net和它的评论涵盖了你所问的所有问题,但这并不能回答这个问题。一旦你有足够的钱,你将能够;相反嗯,这是一个没有答案的问题,我解释了为什么我认为是这样,但这并不能回答这个问题。一旦你有足够的钱,你将能够;相反嗯,这是一个没有答案的问题,我解释为什么我认为是这样。