链接就像这样
<img src="getimage.php?id=<?php echo $name ?>" " width="280px" height="70px">
然后在getimage.php上获取id并从中找到正确的图片并显示它。
$id = $_GET['id'];
这完美无缺。我如何找出请求的来源。所以在下面这一行的哪一页上
<img src="getimage.php?id=<?php echo $name ?>" "width="280px" height="70px">
所以最终我可以知道所请求的图像是用于index.php还是about.php等
由于
答案 0 :(得分:6)
您可以向图片网址添加其他参数,以指定请求的页面:
<img src="getimage.php?id=<?php echo urlencode($name); ?>&page=<?php echo urlencode($page); ?>" "width="280px" height="70px">
与您使用id
参数的方式完全一样。
好处是,这不依赖于某些标题浏览器发送(或不发送)HTTP Referer,这是您无法从服务器端控制的。
要获取生成图像链接的页面,您可以使用以下内容:
$page = basename(__FILE__);
请参阅basename
PHP Manual和__FILE__
PHP Manual。
此外,代码使用urlencode
PHP Manual函数来确保属性不会中断。
答案 1 :(得分:6)
如果设置,请在HTTP_REFERER
数组中查找密钥$_SERVER
:
$_SERVER['HTTP_REFERER'];
将用户代理引用到的页面地址(如果有) 当前页面。这是由用户代理设置的。并非所有用户代理都会 设置这个,有些提供修改
HTTP_REFERER
的能力 特征。简而言之,它无法真正被信任。 (source)
答案 2 :(得分:4)
$_SERVER['HTTP_REFERER'];
你在找什么?
答案 3 :(得分:2)
您可以查看$ _SERVER ['HTTP_REFERER'],但这并不总是由发送请求的浏览器设置。您还可以在发回带有页面标识符的响应时设置会话变量(即'about')。如果设置了此会话变量,则请求的上一页位于变量中。如果没有设置,则用户第一次登陆您的网站。
答案 4 :(得分:0)
您必须添加另一个定义源的参数:
<img src="getimage.php?id=<?php echo $name ?>&src=about" "width="280px" height="70px">
在PHP脚本中,您现在可以使用$ _REQUEST ['src']来区分不同的来源。
请勿使用引用,因为它不可靠。