我必须为游戏运行配对算法,当配对完成后,我会在HTML上显示配对并创建一个csv文件。现在,一旦完成配对,我创建一个多维数组来存储特定值,然后将其传递给同一个php文件中的函数以生成csv文件。但是,这样做会将整个页面代码(即html和php代码)输出到.csv文件。这是代码:
function performPairing()
{
....
$count=0;
$resultArray[][] = array();
while ($currrow = @mysql_fetch_row($result))
{
$playerone = $currrow;
$playertwo = @mysql_fetch_row($result);
$resultArray[$count][] = $playerone[1];
$resultArray[$count][] = $playerone[0];
$resultArray[$count][] = $playertwo[1];
$resultArray[$count][] = $playertwo[0];
$count++;
updateforeachrow($playerone, $playertwo);
}
generateDocument($resultArray, $count);
}
function generateDocument($resultArray, $count)
{
$output = fopen('php://temp/maxmemory'.(5*1024*1024), 'r+');
$columns = array('Player One Col1', 'Player One Col2', 'Player Two Col1', 'Player Two Col2');
fputcsv($output, $columns);
for ($index=0 ; $index <=$count; $index++)
{
fputcsv($output, $resultArray[$index]);
}
rewind($output);
$export = stream_get_contents($output);
fclose($output);
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename = "export.csv"');
echo $export;
}
但是这样做会将整个html代码输出到csv而不是特定的行。有人可以帮我这个吗?
答案 0 :(得分:1)
。制作字符串 。输出字符串到文件 。发送标题(这是允许的吗?)
使用file_put_contents(filename,str),然后使用标头发送它。 使代码更简单:)