我正在显示图像并通过让php文件输出图像来隐藏src代码。但是,当我右键单击显示的图像并转到“另存为”时,它会提示我下载php文件而不是实际图像(显然是因为它指向src)。
如何下载实际图片而不是displayImage.php?
答案 0 :(得分:5)
它不会提示您下载PHP文件,它只是将其用作文件名,因为这是从中获取图像数据的文件名。如果手动输入有效的图像文件名并尝试打开保存的内容,则它仍应是有效图像。
您也可以通过在PHP文件的Content-Disposition:
标题中包含文件名来为其提供合理的名称,例如
$filename = 'image.jpg';
header('Content-Disposition: inline; filename="'.$filename.'"');
// Don't forget the Content-Type as well...
// Output image here
...但是这依赖于浏览器处理这个问题,而不是所有人都这样做: - (
答案 1 :(得分:3)
您可以在标题中发送文件名。
header("Content-Type: image/png");
header('Content-Disposition: inline; filename="some.png"');
答案 2 :(得分:1)
在图像生成器脚本中发送正确的内容类型:
标题('Content-type:image / jpg');
如果你想在PHP脚本输出图像时拥有.jpg扩展名,你需要做一个htaccess或httpd.conf重写,在那里你可以重写一个.jpg请求到你的php图像生成器脚本。
请参阅mod_rewrite http://httpd.apache.org/docs/current/mod/mod_rewrite.html