PHP 大会日本 2024

URL 函数

目录

添加注释

用户贡献的注释 4 条注释

jrg45 at pantheon dot yale dot edu
22 年前
请注意,$_SERVER["HTTP_REFERER"] 可能不包含引用地址中包含的 GET 数据,具体取决于浏览器。因此,如果您依赖 GET 变量来生成页面,则不建议使用 HTTP_REFERER 将用户“无缝”地返回到他/她来自的页面。
verdy_p at wanadoo dot fr
23 年前
还要注意,$HTTP_REFERER 中显示的 URL 不总是用户点击以调用 PHP 脚本的网页的 URL。
它可能改为是您自己网站上的一个文档,该文档包含一个 HTML 元素,其一个属性引用了该脚本。还要注意,当前页面片段(#anchor)可能会与 URL 一起传输或不传输,具体取决于浏览器。
示例
<FRAME src="your-page-script.php"8>
<IMAGE src="your-image-script.php">

在这种情况下,浏览器应该传输容器文档的 URL,但有些浏览器仍然坚持使用浏览器历史记录中的先前文档,这可能会导致在用户返回到引用您的脚本的文档时发送不同的 $HTTP_REFERER 值。如果您想确保发送实际的当前文档或历史记录中的先前文档,请使用客户端 JavaScript 将其发送到您的脚本

<SCRIPT language="JavaScript"><!--
document.writeln('<FRAME src="your-page-script.php?js=1&amp;ref=' +
document.location + '">');
--></SCRIPT><NOSCRIPT>
<FRAME src="your-page-script.php?js=0">
</NOSCRIPT>

然后检查页面脚本中 $js 的值,以便在远程用户代理不支持客户端脚本(例如大多数索引/扫描机器人、某些旧的或特殊的简化浏览器或用户禁用了 JavaScript 的浏览器)时生成相应的内容。
php at malaker dot com
20 年前
如果代码位于 FRAME 或 IFRAME 的源页面(例如 SRC="sourcepage.php")中,则以下方法不会在用户浏览器中显示 URL(如作者所述)。在这种情况下,将显示源页面的 URL。

$url = sprintf("%s%s%s","http://",$HTTP_HOST,$REQUEST_URI);
echo "$url";

预期结果:https://127.0.0.1/urltest/framedpage.php

实际结果:https://127.0.0.1/urltest/sourcepage.php
chemanfit at hotmail
21 年前
只是一个旁注,您需要添加 ?

示例

$page=$PHP_SELF."?".$_SERVER['QUERY_STRING'];
To Top