试图用我们的数据库导出来创建一个csv文件。这是我使用的代码:PHP打印到浏览器而不是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页面。但是我无法获得结果存储在文件中。任何帮助,将不胜感激。
这些头文件非常简单,我如何创建CSV下载(尽管没有utf-8,但这应该不是问题)。可能的问题:第一,验证头文件是否发送到浏览器(F12然后是网络标签),可能(不需要)输出,然后设置头文件将会破坏它们(在error_log中也会引发警告)。第二:尝试引用文件名'filename =“data.csv”',可以肯定的是,第三:尝试其他浏览器来验证这不是一个浏览器错误(你不会是第一个) –
嘿@PetervanderWal,谢谢为回应。 1.我在预览中看到包含所有数据库数据的正确标题。 2.试着引用文件名,不幸的是,没有。 3.在Chrome和Firefox中试过 – matture