2013-04-13 43 views
1

我有一個javascript數組,我必須在客戶端環境中保存爲CSV ..是否有可能使用jQuery?我也必須在所有主流瀏覽器中工作......我使用的是symfony2框架。如果我可以將這個數組傳遞給服務器,可以這樣做。請解釋傳遞數組的最佳方式,因爲我是有一個相當大的associativ陣列..導出一個JavaScript數組爲CSV

+0

問題將可能是文件系統的訪問無論你嘗試直接從Javascript保存爲CSV或將數據傳遞到服務器,並返回一個CSV文件保存在客戶端上。 – frequent

回答

2

你可以發送數據到服務器,但是你想(使用$_POST,AJAX等)。但是,一旦數據到達服務器,這就是如何將數據發送到CSV文件的方式。

$serialized_data = $_POST['some_data_array']; 

if($downloadFile) // simple condition 
{ 

    $fp = fopen('php://memory', 'w+'); // open up write to memory 


    foreach($serialized_data as $row) // $serialized_data represents what you sent to the server from JS 
    { 
     fputcsv($fp, $row); 
    } 

    rewind($fp); 
    $csvFile = stream_get_contents($fp); 
    fclose($fp); 

    header('Content-Type: text/csv'); 
    header('Content-Length: '.strlen($csvFile)); 
    header('Content-Disposition: attachment; filename="yourFile.csv"'); 
    exit($csvFile); 
}