我的站点中有一个页面,显示了一些由我的 PHP 生成的图像。当我右键单击图像并单击“图像另存为”时,我得到的默认名称是用于生成图像的 php 文件的名称。
例如,这是图像的 html:
<img src="picture_generator.php?image_id=5&extension=.png">
我得到的名字是: 图片生成器.php.png
有没有办法将此名称设置为默认名称?
提前致谢
最佳答案
您可以在 Content-Disposition
HTTP header 中提供它:
header('Content-Type: image/png');
header('Content-Disposition: inline; filename="' . $filename . '"');
但是,某些浏览器(即 Internet Explorer)可能会忽略此 header 。最安全的解决方案是伪造 URL 并让浏览器相信它正在下载静态文件,如 /images/5/foo.png
而实际路径背后场景是 /picture_generator.php?image_id=5&extension=.png
。这可以通过一些 Web 服务器模块来完成,例如 Apache 的 mod_rewrite。 .
关于php - 如何为用 PHP 生成的图像设置默认名称 'save image as'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6507789/