我試圖將php/mysql生成的表格轉換爲可下載的csv文件。當用戶輸入搜索參數時,將調用一個mysql表並將結果作爲表返回。將列標題添加到使用PHP的CSV文件
我以前在這個線程所提供的解決方案,它的工作原理驚人:Create a CSV File for a user in PHP
我能夠讓用戶保存或查看結果爲CSV文件。我遇到的問題是我不確定如何將列標題添加到文件。例如,返回的結果採用以下格式:$ result [x] ['office'],$ result [x] ['user']等等,但我也想添加列標題,如「辦公室」和「用戶」,以便任何查看csv文件的人都能立即知道數據的含義。
這是生成CSV文件中的函數:
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=$file.csv");
header("Pragma: no-cache");
header("Expires: 0");
outputCSV($data);
function outputCSV($data) {
$outstream = fopen("php://output", "a");
function __outputCSV(&$vals, $key, $filehandler) {
fputcsv($filehandler, $vals); // add parameters if you want
}
array_walk($data, "__outputCSV", $outstream);
fclose($outstream);
}
我試圖創建下面的函數,然後調用它的權利之前,我打電話outputCSV,但沒有成功:
function create_file_header()
{
$headers = 'Office, User, Tag, Value';
$fp = fopen("php://output", "w");
file_put_contents("$file.csv", $headers);
fclose($fp);
}
任何幫助,非常感謝。調用outputCSV前
用'w'模式打開文件http://php.net/manual/en/function.fopen.php – CBusBus 2012-02-15 17:36:35