php中点击下载代码怎么写?

希望让用户点击后直接弹出另存为对话框。... 希望让用户点击后直接弹出另存为对话框。 展开
 我来答
xylanh
2011-03-28 · TA获得超过270个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:218万
展开全部
<?php
$file = 'path/file.html'; // 要下载的文件
ob_clean();
header('Pragma: public');
header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control:no-store, no-cache, must-revalidate');
header('Cache-Control:pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding:binary');
header('Content-Encoding:none');
header('Content-type:multipart/form-data');
header('Content-Disposition:attachment; filename="'.basename($file).'"'); //设置下载的默认文件名
header('Content-length:'. filesize($file));
$fp = fopen($file, 'r'); //读取数据,开始下载
while(connection_status() == 0 && $buf = @fread($fp, 8192)){
echo $buf;
}
fclose($fp);
@flush();
@ob_flush();
exit();
?>
追问
header('Content-Disposition:attachment; filename="'.basename($file).'"'); //设置下载的默认文件名---这个默认的文件名写在哪儿?换掉basename吗?
追答
basename 可以去了或换成其它的。
basename 这个函数是取得文件名(不要路径的), 不然这个 $file 你可能包含路径, 显示的文件名会带有路径。
你也可以写死它 如
header('Content-Disposition:attachment; filename="abc.html"');
那么他下载的时候的默认文件名就是 abc.html 了
21高旭
2011-03-28 · TA获得超过914个赞
知道小有建树答主
回答量:632
采纳率:50%
帮助的人:508万
展开全部
链接地址直接写到那个文件就行,比如<a href="d:/a/aa/c.zip">下载</a>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式