2013-04-13 4 views
1

나는 클라이언트 환경에서 CSV로 저장해야하는 자바 스크립트 배열을 가지고 있습니다. 가능한 jquery를 사용하고 있습니까? 모든 주요 브라우저에서 작동해야합니다. symfony2 프레임 워크를 사용하고 있습니다.이 배열을 서버에 전달할 수 있다면 어떻게 할 수 있습니까? 배열을 전달할 수있는 최선의 방법을 설명해주세요. associativ 배열의 꽤 큰 배열을 가지고 ..CSV로 자바 스크립트 배열 내보내기

+0

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); 
}