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;
} 展开
{ //导出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;
} 展开
4个回答
2012-11-14 · 知道合伙人软件行家
关注
展开全部
据我的理解,export_csv这个函数的功能就是显示csv内容。
按照你的说明猜测,你应该是先将数据库的内容输出到csv文件里,然后再给出一个指向该文件的下载链接就可以了。
export_csv这个函数可以设计成直接用 file 操作函数写入内容就可以了,因为csv本身是纯文本文件,没有什么特殊的文件格式。
按照你的说明猜测,你应该是先将数据库的内容输出到csv文件里,然后再给出一个指向该文件的下载链接就可以了。
export_csv这个函数可以设计成直接用 file 操作函数写入内容就可以了,因为csv本身是纯文本文件,没有什么特殊的文件格式。
追问
你能给写个代码吗?我真不会改,这段代码也是在网上找的,非常感谢啊!
追答
很简单,就一句代码就可以了:
将 export_csv($filename,$str); 改成 file_put_contents($filename,$str);
这样就生成了 学生信息表.csv 文件了。
如果要生成下载的链接,你还要输出一下,比如用超链接标签写个指向这个文件的地址:
下载 学生信息表.csv
不太清楚你要达到什么样的效果,如果是
展开全部
你没有把文件保存下来啊,你只是输出内容了,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编码
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编码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加入 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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |