php导出csv文件时,只能在浏览器上显示文件内容,没有下载提示,更没有下载的csv文件,帮忙指点啊!

elseif($action=='export'){//导出CSV$result=mysql_query("select*fromt_studentorderbyf_st... elseif ($action=='export')
{ //导出CSV
$result = mysql_query("select * from t_student order by f_studentid");
$str = "学号,密码,姓名,班级<br />";
$str = $str;
while($row=mysql_fetch_array($result)){
$f_studentid = $row['f_studentid'];
$f_password = $row['f_password'];
$f_name = $row['f_name'];
$f_studentclass = $row['f_studentclass'];
$str .= $f_studentid.",".$f_password.",".$f_name.",".$f_studentclass."<br />";
}
$filename = 学生信息表.'.csv';
export_csv($filename,$str);
}
function export_csv($filename,$data)
{
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header("Cache-Control: private",false); // required for certain browsers
header("Content-Transfer-Encoding: binary");
header('Expires:0');
header('Pragma:public');
echo $data;
}
展开
 我来答
windblast
2012-11-14 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
据我的理解,export_csv这个函数的功能就是显示csv内容。

按照你的说明猜测,你应该是先将数据库的内容输出到csv文件里,然后再给出一个指向该文件的下载链接就可以了。

export_csv这个函数可以设计成直接用 file 操作函数写入内容就可以了,因为csv本身是纯文本文件,没有什么特殊的文件格式。
追问
你能给写个代码吗?我真不会改,这段代码也是在网上找的,非常感谢啊!
追答
很简单,就一句代码就可以了:

将 export_csv($filename,$str); 改成 file_put_contents($filename,$str);

这样就生成了 学生信息表.csv 文件了。

如果要生成下载的链接,你还要输出一下,比如用超链接标签写个指向这个文件的地址:

下载 学生信息表.csv

不太清楚你要达到什么样的效果,如果是
超级大炮40
2017-11-15 · TA获得超过258个赞
知道小有建树答主
回答量:334
采纳率:50%
帮助的人:18.7万
展开全部
你没有把文件保存下来啊,你只是输出内容了,file_get_contents保存下整个文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-15
展开全部
function export_csv($name,$data) { //$name不要加后缀csv
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
header('Content-Disposition: attachment; filename = "'.$name.date("Y-m-d").'.csv"');
header('Pragma: no-cache');
echo iconv("UTF-8", "GBK", $data);
}
//试试,应该行

//文件为UTF-8编码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小A技术
2012-11-14 · TA获得超过206个赞
知道小有建树答主
回答量:443
采纳率:50%
帮助的人:293万
展开全部
加入 herder
追问
具体怎么改啊?我是初学,不是很会,请直接告诉我怎么修改吧!O(∩_∩)O谢谢了!急。。。。
追答
function export_csv($filename, $data) {
//header("Content-type:text/csv");
header("Content-type: application/octet-stream;charset=gbk");
header("Content-Disposition:attachment;filename=" . $filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header("Cache-Control: private", false); // required for certain browsers
header("Content-Transfer-Encoding: binary");
header('Expires:0');
header('Pragma:public');
echo $data;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式