如何在“另存为”对话框中强制使用正确的文件扩展名? (.jpg而不是.php)

时间:2013-09-16 11:32:56

标签: php image jpeg file-extension save-as

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

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

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

如何使用适当的扩展名JPG自动“另存为”?还有另一种方法吗? - 非常感谢!!

2 个答案:

答案 0 :(得分: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");

from php.net

答案 1 :(得分:0)

将内容类型标题设置为响应中的正确值

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

header('Content-Type: image/jpeg');