2011-06-03 108 views
0

我必須爲遊戲運行配對算法,並且配對完成後,我在HTML上顯示配對並創建一個csv文件。現在,一旦完成配對,我創建了一個多維數組來存儲特定的值,然後將其傳遞給同一個php文件中的函數以生成csv文件。但是,這樣做會將整個頁面代碼(即html和php代碼)輸出到.csv文件。以下是代碼:在PHP中創建CSV的問題MySQL

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而不是特定的行。任何人都可以幫助我嗎?

回答

1

。使字符串 。輸出字符串到文件 。發送標題(這是允許這種方式?)

使用file_put_contents(文件名,str),併發送它與標題。 使代碼更簡單:)

+0

沒有得到你。你能通過我的代碼解釋我的意思嗎? – 2011-06-03 15:06:24