php - 如何为用 PHP 生成的图像设置默认名称 'save image as'?

标签 php image save-image

我的站点中有一个页面,显示了一些由我的 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/

相关文章:

php - 从一个类的字符串名称中,我可以得到一个静态变量吗?

php - div标签不包含内容

php - CodeIgniter 没有收到 POST 数据

php - 如何使用php和mysql返回多维数组中的多级类别

android - 如何在android中将多个图像组合成一个图像?

PHP GD - 如何修改我的缩略图创建器以从中心裁剪肖像图像?

ios - 如何阻止我的 swift 应用程序崩溃

php - Laravel 5.4 上传多个图像并将文件名保存到数据库中

scripting - GIMP Python-fu 导出文件只导出透明层