您可以将网页的输出导出为附件,该附件将作为下载内容显示给用户。您可以通过在向用户进行任何输出之前输出适当的标题来做到这一点。
下面是一个示例,它创建了一个名为 foo.csv 的 CSV 文件的下载:
header("Content-type: text/csv");
header("Content-Disposition: attachment;Filename=foo.csv");
输出标题后,您只需将文件的所有数据输出到页面内容。
*编辑:*这是一个工作片段,根据要求:
header("Content-type: text/csv");
header("Content-Disposition: attachment;Filename=foo.csv");
echo implode(";", $rowexcel) . "\r\n"; // you should expand this accordingly
或者,这是另一个片段,基于您的代码:
$filename = 'myreport'.time().'.csv';
$f = fopen($filename,'w');
fputcsv($f,$rowexcel);
header('Content-type: application/csv');
header('Content-Disposition: attachment;filename="'.$filename.'"');
readfile($filename);
如果您没有下载任何内容,请确保在 header() 调用之前不输出任何内容。此外,请确保您的 PHP 文件开头没有任何 UTF8 BOM 字节,因为这些字节可能会被误解为输出