如何获取当前正在执行的PHP脚本的URL?

时间:2010-05-25 05:33:15

标签: php

如何获取当前正在执行的PHP脚本的URL?

例如,网址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)。最简单的方法是什么?

3 个答案:

答案 0 :(得分:3)

简单的Google搜索会回答您的问题。这是结果。

http://php.about.com/od/learnphp/qt/_SERVER_PHP.htm

答案 1 :(得分:2)

这不是那么复杂,但在这里:

<?php
    $scriptFolder = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://';
    $scriptFolder .= $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']);
    echo $scriptFolder;
?>

答案 2 :(得分:0)

我正在寻找这个问题的答案,似乎并不容易。

然后它击中了我:这是因为并不总是能够获得当前的脚本URL。

PHP可以在文件系统中的任何位置包含文件,只要运行该进程的用户可以访问它,它就可以工作。但是,这意味着可以在Web服务器的根目录之外包含脚本 - 因此无法获得URL。我相信这就是没有直接功能的原因。