如何强制文件在移动浏览器上使用PHP进行下载?

问题描述:

我想写一个php脚本来下载移动浏览器上的一些文件(扩展名 - .apk,.dcm,.pdf,.zip等)。我已经写了一个php代码来下载这些文件,并且它在所有浏览器(而不是移动浏览器)上工作正常。但我尝试使用HTC手机,它试图打开文件而不是下载(如打开网页)。如何强制文件在移动浏览器上使用PHP进行下载?

如何在移动浏览器上启用下载?

谢谢

PS: 这是我要做的事。 我使用jQuery代码发送一些参数到一个PHP文件,它会返回相应的下载文件路径。

jQuery的代码片段是:

$.post('saveData.php',{ name: name.val(), email: email.val(), phone:phone.val(), address:address.val(), version:vers, swVersion:swvers, type:type }, 
function(data) 
{      
    var links = data; 
    document.body.innerHTML += "<iframe src='" + links + "' style='display:hide;' ></iframe>"; 
}); 

“链接” 变量包含PHP文件下载路径的回报。 Iframe允许下载窗口弹出。但它不适用于移动浏览器。

+2

你发送正确的MIME类型头? –

+0

这是太少的信息。请出示一些代码 –

+0

这就是我的做法。 我使用jQuery代码发送一些参数到一个PHP文件,它会返回相应的下载文件路径。 ('saveData.php',{name:name.val(),email:email.val(),phone:phone.val(),address:address.val() ,version:vers,swVersion:swvers,type:type}, function(data) {var links = data; document.body.innerHTML + =“

尝试用下面的标题:

header('Content-Type: application/force-download'); 
header('Content-Disposition: attachment; filename="filename"'); 

的想法是设置内容类型的东西,浏览器不知道如何打开 - 这样它会显示保存对话框。您可以使用实际的MIME类型尝试它,它应该可以工作,但我现在无法对其进行测试。

+0

upvoted,但会建议你提出建议,而不是问题 –

+0

这仍然在iPhone上的浏览器中播放MP3。我希望有一种方式允许下载,但阻止流式传输。 – Zade