利用ifrme下载文件,php文件下载方法
在有些页面要使用ajax来执行下载任务,但是又要求不能跳转页面!一般的想法都是利用iframe来实现。
贴上代码:
[html]
function downloadFile(url)
{ var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
}
[/html]
url用来处理文件头相关的东西,就跟你新开链接下载一样的链接!这个东西我还尝试了两个晚上啊!
这里在贴上PHP下载文件的方法,支持中文下载:
[php]
//附件下载
public function downloadfile($filename, $newfilename) {
if (!is_file($filename)){
exit('文件'.$filename.'已经被管理员删除!');
}
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($newfilename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');
if (preg_match("/MSIE/", $ua)) {
header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else {
if (preg_match("/Firefox/", $ua)) {
header('Content-Disposition: attachment; filename*="utf8''' . $newfilename . '"');
} else {
header('Content-Disposition: attachment; filename="' . $newfilename . '"');
}
}
$fp = fopen($filename, 'rb');
fpassthru($fp);
fclose($fp);
}
[/php]