如何在 PHP 映像中获取当前 URL


How to get current URL in a PHP image?

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

但是当我使用http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];时,URL 输出是文件的位置 (http://test.com/png.php),但不是获取带有 <img> 标记的 img 的页面。

我该怎么做才能获取当前网址?

谢谢!

听起来你在寻找$_SERVER['HTTP_REFERER'],而不是REQUEST_URI。

我不确定我是否理解你,但我会试一试。如果您通过 PHP 提供图像,它的 URL 将始终指向 PHP 脚本。如果您希望它看起来像是一张.png图像,您有 2 种选择:

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

2)坚持使用当前的URL,但也添加一个(非标准!内容处置标头:

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

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