如何在PHP图像中获取当前URL?

如何在PHP图像中获取当前URL?,php,image,Php,Image,我想获取PHP生成的PNG中的当前URL(header('Content-Type:image/PNG');) 但是当我使用http://“$\u服务器['http\u主机].$\u服务器['REQUEST\u URI'];, URL输出是文件的位置(),而不是获取带有标记的img的页面 如何获取当前URL 谢谢!听起来你在寻找$\u服务器['HTTP\u REFERER'],而不是请求URI。我不确定我是否理解你的意思,但我会尝试一下。如果你通过PHP提供图像,它的URL将始终指向PHP脚本。

我想获取PHP生成的PNG中的当前URL(
header('Content-Type:image/PNG');

但是当我使用
http://“$\u服务器['http\u主机].$\u服务器['REQUEST\u URI'];
, URL输出是文件的位置(),而不是获取带有
标记的img的页面

如何获取当前URL


谢谢!

听起来你在寻找
$\u服务器['HTTP\u REFERER']
,而不是请求URI。

我不确定我是否理解你的意思,但我会尝试一下。如果你通过PHP提供图像,它的URL将始终指向PHP脚本。如果你想让它看起来像一个真正的.png图像,你有两个选择:

1) 创建一个重写规则,将一些.png URL重定向到PHP脚本,然后将该URL提供给用户

2) 坚持使用当前URL,但同时添加(非标准!)内容处置标题:

header('Content-Disposition:attachment;filename=“my_image.png”);


这样,URL仍将指向PHP脚本,但当用户尝试保存图像时,建议的名称将不是PHP脚本,而是在内容处置中指定的名称。

但当我使用
$\u SERVER['HTTP\u REFERER']
它不会返回任何内容如果您通过在脚本中键入URL直接加载图像,那是因为没有引用者。当然,如果您是通过网页上的
标记加载图像,那么
echo
无论如何,输入文本将破坏图像。我的代码类似于
$URL\u full=“http://.”$\u SERVER['http\u REFERER'.$\u SERVER['REQUEST\u URI'];
最终代码:
$url\u full=$\u SERVER['HTTP\u REFERER']。$\u SERVER['REQUEST\u URI'];
:我不是这个意思。我的意思是,我想获取当前url,它是
img src
与此图像相匹配的我不明白你的意思。Img src是一个Img HTML标记,带有一个保存URL的src属性。src属性中的URL可以保存指向PHP脚本的链接,只要该链接返回一个有效的图像。哦,是的,那么Ed就在正确的轨道上。你需要推荐人。你可能会在打印推荐人的脚本中引发错误d查看错误日志,看看是否一切正常。当然,您需要抑制输出上的错误打印。