2013-04-13 4 views
1

У меня есть массив javascript, который я должен сохранить как CSV в среде клиента. Возможно ли использование jquery? Я тоже должен работать во всех основных браузерах. Я использую схему symfony2. Как это можно сделать, если я могу передать этот массив на сервер. Пожалуйста, объясните наилучший способ передать массив, поскольку я с довольно большим массивом ассоциативных массивов.Экспорт массива javascript как CSV

+0

проблема не будет, вероятно, будет доступ к файловой системе, независимо от того, если вы непосредственно попробуйте сохранить из Javascript в CSV или передавать данные на сервер и возвращает файл CSV, чтобы сохранить на клиенте. – frequent

ответ

2

Вы можете отправить данные на сервер, но вы хотите (используя $_POST, AJAX и т. д.). Как только данные поступают на сервер, это значит, что I отправит данные в файл 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); 
}