如何知道正在加载PHP脚本的页面的URL?

如何知道正在加载PHP脚本的页面的URL?,php,javascript,html,http,referrer,Php,Javascript,Html,Http,Referrer,有一个来自不同域的网页,其中包含在我的服务器中托管和生成的脚本。假设页面位于http://www.theirdomain.com/site其标记如下所示: <html> <head> <script src="http://www.mydomain.com/script.php"></script> </head> <body> ... </body>

有一个来自不同域的网页,其中包含在我的服务器中托管和生成的脚本。假设页面位于
http://www.theirdomain.com/site
其标记如下所示:

<html>
    <head>
        <script src="http://www.mydomain.com/script.php"></script>
    </head>
    <body>
        ...
    </body>
</html>

...
script.php
页面确实创建了JavaScript内容,但我想知道调用
script.php
(即
http://www.theirdomain.com/site


如何在PHP中获取这些信息?

不是100%可靠。

在script.PHP中记录引用者,查看其来源。 比如:


当您想知道调用文件“script.php”的页面的url时,您应该查看$\u服务器变量

在该变量中,您将找到一些有用的脚本调用位置的标题,例如,尝试测试从$\u服务器['REQUEST\u URL']和$\u服务器['HTTP\u REFERER']获得的值。可在此处找到更多选项:


例如,您可以将这些变量中的数据随时间一起存储到数据库中,以便以后输出使用统计信息。

您可以通过$\u服务器获取所有这些信息,该服务器是一个包含头、路径和脚本位置等信息的数组。 欲了解更多信息,请阅读


我从未见过通过脚本标记包含的php文件。你确定这样行吗?php文件是否返回javascript?@Asad它可能会生成javascript,就像
一样。php
文件可以是生成的图像。
if(!empty($_SERVER['HTTP_REFERER'])) {
    $log = fopen('script_access.log', 'a');
    fwrite($log, 'The script has been accessed from ' . $_SERVER['HTTP_REFERER'] . PHP_EOL);
    fclose($log);
}

// Rest of your script here.
<?php
function get_path_info()
{
    if( ! array_key_exists('PATH_INFO', $_SERVER) )
    {
        $pos = strpos($_SERVER['REQUEST_URI'], $_SERVER['QUERY_STRING']);

        $asd = substr($_SERVER['REQUEST_URI'], 0, $pos - 2);
        $asd = substr($asd, strlen($_SERVER['SCRIPT_NAME']) + 1);

        return $asd;    
    }
    else
    {
        return trim($_SERVER['PATH_INFO'], '/');
    }
}