单击以提示保存文件下载框以查找多个文件

时间:2014-04-12 15:01:57

标签: php download

PHP

<a href="<?php echo $path_data['wall_path'];?>">
<?php echo $dimensions_data['width'] . "x" . $dimensions_data['height']; ?></a>

输出

<li><a href="wallpapers/2014/04/scape-640x960-640x960.jpg">640x960</a></li>
<li><a href="wallpapers/2014/04/scape-640x1136-640x1136.jpg">640x1136</a></li>
<li><a href="wallpapers/2014/04/scape-720x1280-720x1280.jpg">720x1280</a></li>
<li><a href="wallpapers/2014/04/scape-768x1280-768x1280.jpg">768x1280</a></li>
<li><a href="wallpapers/2014/04/scape-1080x1920-1080x1920.jpg">1080x1920</a></li>

现在我需要做的是当用户clicks任何一个尺寸时,我想提示包含相应size文件的保存文件对话框。我已阅读Forcing to download a file using PHPPHP Force File Download,但根据我的理解,这些内容适用于单个文件下载。如果没有,请纠正我。

限制: 当用户点击链接时,不想转发到download.php文件等其他页面。

1 个答案:

答案 0 :(得分:1)

通常情况下,浏览器不会显示图像的下载对话框,而是显示图像,所需的行为是什么。然后,您可以点击&#34;另存为...&#34;并保存图像。

浏览器对文件的作用取决于Web服务器为该文件发送的mime类型。对于jpg图像,它将是

image/jpeg

如果您真的想欺骗浏览器显示保存对话框,则需要为该文件发送不同的mime类型,例如:

application/octet-stream

这可以使用download.php文件(或其他)来修改标题并输出文件。可以使用重写的URL来隐藏这种download.php的存在。

如果您不想要,则需要告诉Web服务器它应该为该文件发送不同的mime类型。例如,如果您运行apache,则可以将以下行添加到.htaccess文件中:

AddType application/octet-stream .jpg