1

为了密码保护网站图像,我通过 PHP 访问它们。不使用网址“meme_penguin.jpg”,我使用“image.php?file=penguin”。这非常适合显示它,除非用户尝试“另存为”。

在 chrome 中,“另存为”对话框将建议文件类型为 PHP 而不是 JPG 在 Internet Explorer 中,它将建议 BMP

显然,用户可以只更改文件类型并重命名文件。然而,这不是一个优雅的解决方案,并且肯定会导致问题。

我们如何使用正确的扩展名 JPG 使其自动“另存为”?有替代方法吗?- 非常感谢!!

4

2 回答 2

1

找到了!我错过了第三行代码。您可以使用它在页面中显示安全图像,或将其下载为 jpg 从 stackoverflow 中的另一个问题中获取前两行

//need this two lines to work properly on IE8
header("Pragma: "); 
header("Cache-Control: ");

//was missing this line
header('Content-Disposition: attachment; filename="renamed.jpg"');

header("Content-Type: image/jpeg");
echo file_get_contents("images/somepic.jpg");

来自 php.net

于 2013-09-16T19:34:47.490 回答
0

将内容类型标头设置为适当的值作为响应

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 14.17 内容类型

header('Content-Type: image/jpeg');
于 2013-09-16T11:36:26.053 回答