我想在由 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 中指定的名称。