function outputCSV($data) {
$outstream = fopen("php://output", 'w');
function __outputCSV(&$vals, $key, $filehandler){
fputcsv($filehandler, $vals, ',', '"');
}
array_walk($data, '__outputCSV', $outstream);
fclose($outstream);
}
function someFunctionInTheBigPHPFile() {
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");
$mydata = array(
array('data11', 'data12', 'data13'),
array('data21', 'data22', 'data23'),
array('data31', 'data32', 'data23'));
outputCSV($mydata);
exit;
}
輸出CSV確實包含數據數組。問題是,該數組與網頁的其餘部分一起顯示,即在調用此函數之前的所有內容以及它之後的所有內容,儘管這兩個函數是處理任何打開和寫入文件的唯一函數。PHP寫入CSV,輸出整個網頁出於某種原因
如何阻止網頁的其他部分不受干擾?我只希望在CSV數據數組..
編輯:我設法砍掉一切通過增加出口後繼我的數組;但是我仍然有前陣所顯示的整個網站的問題。
是的,我得到了一半的工作,那麼在CSV輸出之前的所有內容呢? –
如果請求CSV,請確保以前不輸出任何內容。 – ilanco
我無法真正控制,我使用WordPress和他們的表來調用批量操作函數。在這之前已經有很多事情發生,在一個我不想編輯的大系統中。 –