使用PHP中的src'另存为'图像

时间:2011-12-21 14:05:16

标签: php html

我正在显示图像并通过让php文件输出图像来隐藏src代码。但是,当我右键单击显示的图像并转到“另存为”时,它会提示我下载php文件而不是实际图像(显然是因为它指向src)。

如何下​​载实际图片而不是displayImage.php?

3 个答案:

答案 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)

  1. 在图像生成器脚本中发送正确的内容类型:

    标题('Content-type:image / jpg');

  2. 如果你想在PHP脚本输出图像时拥有.jpg扩展名,你需要做一个htaccess或httpd.conf重写,在那里你可以重写一个.jpg请求到你的php图像生成器脚本。

  3. 请参阅mod_rewrite http://httpd.apache.org/docs/current/mod/mod_rewrite.html