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和他们的表来调用批量操作函数。在这之前已经有很多事情发生,在一个我不想编辑的大系统中。 –