我正在尝试按下按钮创建一个csv文件。我遇到的问题是该文件不会下载,它只是回应了内容。
这是我的代码
CMD
这就是我打电话给班级的方式:
class csv_writer {
public $dataArray;
public $filename;
public $csvHeader;
public function create_csv() {
/**
*
* Creates the CSV and make it ready for download
*/
$fp = fopen('php://output', 'w');
fprintf($fp, chr(0xEF).chr(0xBB).chr(0xBF) );
fputcsv($fp, $this->csvHeader, ';',' ');
foreach ( $this->dataArray as $ferow ) {
fputcsv($fp, $ferow,';');
}
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename="'.$this->filename.'.csv"');
fclose($fp);} }
我已经尝试过堆叠中的所有其他exmaple,但没有运气!希望有一个聪明的头脑可以帮助我!
答案 0 :(得分:0)
您还没有制作任何内容,只有文件名。
以下是我前一段时间写的代码片段。
由你来创建输出。
简而言之:FIRST设置标题(包括filenamesuggestion)。
然后是内容。
$filenameSuggestion = "database_export_".date("d")."-".date("F")."-".date("Y").".sql";
header("Content-Disposition: attachment; filename=\"".$filenameSuggestion."\"");
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
// Create content HERE, so you need to echo something or create output another way
// .....
exit;
我希望这有助于你前进。