【发布时间】:2015-12-28 00:33:16
【问题描述】:
我正在尝试在单击按钮时创建一个 csv 文件。我遇到的问题是文件不会下载,它只是回显内容。
这是我的代码
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);} }
我是这样称呼班级的:
$csv = new csv_writer();
$csv->dataArray = array( 'value1', 'value2' );
$csv->filename = 'test';
$csv->csvHeader = array( 'value1', 'value2' );
$csv->create_csv();
我已经在堆栈上尝试了所有其他示例,但没有运气!希望有一个聪明的头脑可以帮助我!
【问题讨论】: