尝试使用我们的数据库导出来创建csv文件。这是我使用的代码:
if(isset($_POST["Export"])){
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen("php://output", "w");
fputcsv($output, array('ID', 'Name', 'Email', 'Phone'));
$query = "SELECT userID, name, email, phone from user ORDER BY userID DESC";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
fputcsv($output, $row);
}
fclose($output);
当我单击导出按钮时,它会在浏览器中加载此PHP页面并显示正确的结果。但是我无法将结果存储在文件中。任何帮助将不胜感激。
答案 0 :(得分:0)
尝试使用以下内容类型之一:
header('Content-Type: application/vnd.ms-excel');
header('Content-Type: application/octet-stream');
答案 1 :(得分:0)
尝试在文件输出之前发送header("Content-Type: application/force-download");
。
答案 2 :(得分:0)
您所需要做的就是删除Content-Disposition标头并将Content-Type标头设置为纯文本:
header('Content-Type: text; charset=utf-8');
答案 3 :(得分:0)
确保您的脚本中没有任何其他 print
或 echo
命令。
答案 4 :(得分:-1)
尝试删除fclose($output);
行。