如何使用特定文件名传送PHP生成的图像?

时间:2015-01-21 20:31:49

标签: php download jpeg gd

所以我写了一张GD图像'修饰符'我们将其调用,并使用imagejpeg函数将其输出到浏览器。我很好奇是否有可能传递的标题信息会指示浏览器下载文件的名称不是正在处理数据的PHP文件的名称。

场景是我的PHP文件,' generate.php'现在,将图像标题输出并输出图像,但是如果我去保存图像,则默认文件名是' generate.php'。我想交回一个动态生成的文件名。

如果代码因某种原因必须在这里;我很乐意发布它 - 但我认为在这种情况下没有必要。

2 个答案:

答案 0 :(得分:3)

发送Content-Disposition标题。

显示图片

header("Content-Disposition: Inline; filename=$filename");

下载图片

header("Content-Disposition: Attachment; filename=$filename");

答案 1 :(得分:0)

我认为你可以重写网址:

URL rewriting with PHP

您可以在.htaccess文件中添加这样的简单规则:

RewriteEngine on RewriteRule ^/images/(.*)$ /generate.php?imagename=$1

当您调用图像时,您将使用<img src="/images/image.png" />但服务器而不是搜索该网址将因您的规则而执行您的PHP脚本。